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 .repo_bootstrap import RepoBootstrap
|
||||||
from .shutdown import Shutdown
|
from .shutdown import Shutdown
|
||||||
from .test import Test
|
from .test import Test
|
||||||
|
from .pull import Pull
|
||||||
|
|
||||||
"""New way to model pmbootstrap subcommands that can be invoked without PmbArgs."""
|
"""New way to model pmbootstrap subcommands that can be invoked without PmbArgs."""
|
||||||
|
|
||||||
|
@ -49,7 +50,6 @@ unmigrated_commands = [
|
||||||
"apkindex_parse",
|
"apkindex_parse",
|
||||||
"config",
|
"config",
|
||||||
"bootimg_analyze",
|
"bootimg_analyze",
|
||||||
"pull",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def run_command(args: PmbArgs):
|
def run_command(args: PmbArgs):
|
||||||
|
@ -71,6 +71,8 @@ def run_command(args: PmbArgs):
|
||||||
command = Shutdown()
|
command = Shutdown()
|
||||||
elif args.action == "test":
|
elif args.action == "test":
|
||||||
command = Test(args.action_test)
|
command = Test(args.action_test)
|
||||||
|
elif args.action == "pull":
|
||||||
|
command = Pull()
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError(f"Command '{args.action}' is not implemented.")
|
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)
|
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):
|
def lint(args: PmbArgs):
|
||||||
packages: Sequence[str] = args.packages
|
packages: Sequence[str] = args.packages
|
||||||
if not packages:
|
if not packages:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue