Merging upstream version 0.16.5.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
9703a1ef64
commit
519eae4b80
6 changed files with 43 additions and 11 deletions
|
@ -149,10 +149,20 @@ def f_info(args: argparse.Namespace):
|
|||
|
||||
|
||||
def f_clone(args: argparse.Namespace):
|
||||
|
||||
if args.dry_run:
|
||||
if args.from_file:
|
||||
for url, repo_name, abs_path in utils.parse_clone_config(args.clonee):
|
||||
print(f"git clone {url} {abs_path}")
|
||||
else:
|
||||
print(f"git clone {args.clonee}")
|
||||
return
|
||||
|
||||
if args.directory:
|
||||
path = args.directory
|
||||
else:
|
||||
path = Path.cwd()
|
||||
|
||||
if not args.from_file:
|
||||
subprocess.run(["git", "clone", args.clonee], cwd=path)
|
||||
return
|
||||
|
@ -169,9 +179,15 @@ def f_clone(args: argparse.Namespace):
|
|||
)
|
||||
|
||||
|
||||
def f_freeze(_):
|
||||
# TODO: filter context
|
||||
def f_freeze(args):
|
||||
repos = utils.get_repos()
|
||||
ctx = utils.get_context()
|
||||
if args.group is None and ctx:
|
||||
args.group = ctx.stem
|
||||
group_repos = None
|
||||
if args.group: # only display repos in this group
|
||||
group_repos = utils.get_groups()[args.group]["repos"]
|
||||
repos = {k: repos[k] for k in group_repos if k in repos}
|
||||
seen = {""}
|
||||
for name, prop in repos.items():
|
||||
path = prop["path"]
|
||||
|
@ -460,6 +476,12 @@ def main(argv=None):
|
|||
description="print all repo information",
|
||||
help="print all repo information",
|
||||
)
|
||||
p_freeze.add_argument(
|
||||
"-g",
|
||||
"--group",
|
||||
choices=utils.get_groups(),
|
||||
help="freeze repos in the specified group",
|
||||
)
|
||||
p_freeze.set_defaults(func=f_freeze)
|
||||
|
||||
p_clone = subparsers.add_parser(
|
||||
|
@ -487,6 +509,12 @@ def main(argv=None):
|
|||
action="store_true",
|
||||
help="clone repo(s) in their original paths",
|
||||
)
|
||||
p_clone.add_argument(
|
||||
"-n",
|
||||
"--dry-run",
|
||||
action="store_true",
|
||||
help="If set, show command without execution",
|
||||
)
|
||||
p_clone.set_defaults(func=f_clone)
|
||||
|
||||
p_rename = subparsers.add_parser(
|
||||
|
|
|
@ -198,9 +198,10 @@ def get_commit_time(prop: Dict[str, str]) -> str:
|
|||
def get_repo_status(prop: Dict[str, str], no_colors=False) -> str:
|
||||
head = get_head(prop["path"])
|
||||
dirty, staged, untracked, color = _get_repo_status(prop, no_colors)
|
||||
info = f"{head:<10} [{dirty+staged+untracked}]"
|
||||
if color:
|
||||
return f"{color}{head+' ['+dirty+staged+untracked+']':<13}{Color.end}"
|
||||
return f"{head+' ['+dirty+staged+untracked+']':<13}"
|
||||
return f"{color}{info:<17}{Color.end}"
|
||||
return f"{info:<17}"
|
||||
|
||||
|
||||
def get_repo_branch(prop: Dict[str, str]) -> str:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue