forked from Mirror/pmbootstrap
pull: move to pmb/commands/pull.py (MR 2252)
Fixes: TypeError: pull() takes 0 positional arguments but 1 was given
This commit is contained in:
parent
e2461f00a2
commit
9e2bbf80e0
3 changed files with 41 additions and 27 deletions
|
@ -14,6 +14,7 @@ from .index import Index
|
|||
from .repo_bootstrap import RepoBootstrap
|
||||
from .shutdown import Shutdown
|
||||
from .test import Test
|
||||
from .pull import Pull
|
||||
|
||||
"""New way to model pmbootstrap subcommands that can be invoked without PmbArgs."""
|
||||
|
||||
|
@ -49,7 +50,6 @@ unmigrated_commands = [
|
|||
"apkindex_parse",
|
||||
"config",
|
||||
"bootimg_analyze",
|
||||
"pull",
|
||||
]
|
||||
|
||||
def run_command(args: PmbArgs):
|
||||
|
@ -71,6 +71,8 @@ def run_command(args: PmbArgs):
|
|||
command = Shutdown()
|
||||
elif args.action == "test":
|
||||
command = Test(args.action_test)
|
||||
elif args.action == "pull":
|
||||
command = Pull()
|
||||
else:
|
||||
raise NotImplementedError(f"Command '{args.action}' is not implemented.")
|
||||
|
||||
|
|
38
pmb/commands/pull.py
Normal file
38
pmb/commands/pull.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
# 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):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
failed = []
|
||||
for repo in pmb.config.git_repos.keys():
|
||||
if pmb.helpers.git.pull(repo) < 0:
|
||||
failed.append(repo)
|
||||
|
||||
if not failed:
|
||||
return True
|
||||
|
||||
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("* " + pmb.helpers.git.get_path(name_repo))
|
||||
logging.info("---")
|
||||
return False
|
|
@ -593,32 +593,6 @@ def bootimg_analyze(args: PmbArgs):
|
|||
logging.info(tmp_output)
|
||||
|
||||
|
||||
def pull():
|
||||
failed = []
|
||||
for repo in pmb.config.git_repos.keys():
|
||||
if pmb.helpers.git.pull(repo) < 0:
|
||||
failed.append(repo)
|
||||
|
||||
if not failed:
|
||||
return True
|
||||
|
||||
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("* " + pmb.helpers.git.get_path(name_repo))
|
||||
logging.info("---")
|
||||
return False
|
||||
|
||||
|
||||
def lint(args: PmbArgs):
|
||||
packages: Sequence[str] = args.packages
|
||||
if not packages:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue