1
0
Fork 1
mirror of https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git synced 2025-07-13 11:29:46 +03:00
pmbootstrap/pmb/commands/pull.py
Newbyte 1ce9b6a887
pmb: Enable Perflint checks
Likely will have minor impact in practice, but it is better than
nothing. Also seems to often result in more concise code.
2025-07-12 13:34:25 +02:00

34 lines
1.2 KiB
Python

# Copyright 2024 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
from __future__ import annotations
from pmb import commands
import pmb.helpers.git
import pmb.config
import logging
class Pull(commands.Command):
def __init__(self) -> None:
pass
def run(self) -> None:
failed = [repo for repo in pmb.config.git_repos.keys() if pmb.helpers.git.pull(repo) < 0]
if not failed:
return
logging.info("---")
logging.info("WARNING: failed to update: " + ", ".join(failed))
logging.info("")
logging.info("'pmbootstrap pull' will only update the repositories, if:")
logging.info("* they are on an officially supported branch (e.g. master)")
logging.info("* the history is not conflicting (fast-forward is possible)")
logging.info("* the git workdirs are clean")
logging.info("You have changed mentioned repositories, so they don't meet")
logging.info("these conditions anymore.")
logging.info("")
logging.info("Fix and try again:")
for name_repo in failed:
logging.info(f"* {pmb.helpers.git.get_path(name_repo)}")
logging.info("---")