summaryrefslogtreecommitdiffstats
path: root/subcmds/overview.py
diff options
context:
space:
mode:
authorGavin Mak <gavinmak@google.com>2023-03-11 06:46:20 +0000
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-03-22 17:46:28 +0000
commitea2e330e43c182dc16b0111ebc69ee5a71ee4ce1 (patch)
treedc33ba0e56825b3e007d0589891756724725a465 /subcmds/overview.py
parent1604cf255f8c1786a23388db6d5277ac7949a24a (diff)
downloadgit-repo-ea2e330e43c182dc16b0111ebc69ee5a71ee4ce1.tar.gz
Format codebase with black and check formatting in CQ
Apply rules set by https://gerrit-review.googlesource.com/c/git-repo/+/362954/ across the codebase and fix any lingering errors caught by flake8. Also check black formatting in run_tests (and CQ). Bug: b/267675342 Change-Id: I972d77649dac351150dcfeb1cd1ad0ea2efc1956 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/363474 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Gavin Mak <gavinmak@google.com>
Diffstat (limited to 'subcmds/overview.py')
-rw-r--r--subcmds/overview.py124
1 files changed, 71 insertions, 53 deletions
diff --git a/subcmds/overview.py b/subcmds/overview.py
index 11dba95f..8ccad611 100644
--- a/subcmds/overview.py
+++ b/subcmds/overview.py
@@ -19,12 +19,12 @@ from command import PagedCommand
19 19
20 20
21class Overview(PagedCommand): 21class Overview(PagedCommand):
22 COMMON = True 22 COMMON = True
23 helpSummary = "Display overview of unmerged project branches" 23 helpSummary = "Display overview of unmerged project branches"
24 helpUsage = """ 24 helpUsage = """
25%prog [--current-branch] [<project>...] 25%prog [--current-branch] [<project>...]
26""" 26"""
27 helpDescription = """ 27 helpDescription = """
28The '%prog' command is used to display an overview of the projects branches, 28The '%prog' command is used to display an overview of the projects branches,
29and list any local commits that have not yet been merged into the project. 29and list any local commits that have not yet been merged into the project.
30 30
@@ -33,59 +33,77 @@ branches currently checked out in each project. By default, all branches
33are displayed. 33are displayed.
34""" 34"""
35 35
36 def _Options(self, p): 36 def _Options(self, p):
37 p.add_option('-c', '--current-branch', 37 p.add_option(
38 dest="current_branch", action="store_true", 38 "-c",
39 help="consider only checked out branches") 39 "--current-branch",
40 p.add_option('--no-current-branch', 40 dest="current_branch",
41 dest='current_branch', action='store_false', 41 action="store_true",
42 help='consider all local branches') 42 help="consider only checked out branches",
43 # Turn this into a warning & remove this someday. 43 )
44 p.add_option('-b', 44 p.add_option(
45 dest='current_branch', action='store_true', 45 "--no-current-branch",
46 help=optparse.SUPPRESS_HELP) 46 dest="current_branch",
47 action="store_false",
48 help="consider all local branches",
49 )
50 # Turn this into a warning & remove this someday.
51 p.add_option(
52 "-b",
53 dest="current_branch",
54 action="store_true",
55 help=optparse.SUPPRESS_HELP,
56 )
47 57
48 def Execute(self, opt, args): 58 def Execute(self, opt, args):
49 all_branches = [] 59 all_branches = []
50 for project in self.GetProjects(args, all_manifests=not opt.this_manifest_only): 60 for project in self.GetProjects(
51 br = [project.GetUploadableBranch(x) 61 args, all_manifests=not opt.this_manifest_only
52 for x in project.GetBranches()] 62 ):
53 br = [x for x in br if x] 63 br = [project.GetUploadableBranch(x) for x in project.GetBranches()]
54 if opt.current_branch: 64 br = [x for x in br if x]
55 br = [x for x in br if x.name == project.CurrentBranch] 65 if opt.current_branch:
56 all_branches.extend(br) 66 br = [x for x in br if x.name == project.CurrentBranch]
67 all_branches.extend(br)
57 68
58 if not all_branches: 69 if not all_branches:
59 return 70 return
60 71
61 class Report(Coloring): 72 class Report(Coloring):
62 def __init__(self, config): 73 def __init__(self, config):
63 Coloring.__init__(self, config, 'status') 74 Coloring.__init__(self, config, "status")
64 self.project = self.printer('header', attr='bold') 75 self.project = self.printer("header", attr="bold")
65 self.text = self.printer('text') 76 self.text = self.printer("text")
66 77
67 out = Report(all_branches[0].project.config) 78 out = Report(all_branches[0].project.config)
68 out.text("Deprecated. See repo info -o.") 79 out.text("Deprecated. See repo info -o.")
69 out.nl()
70 out.project('Projects Overview')
71 out.nl()
72
73 project = None
74
75 for branch in all_branches:
76 if project != branch.project:
77 project = branch.project
78 out.nl() 80 out.nl()
79 out.project('project %s/' % project.RelPath(local=opt.this_manifest_only)) 81 out.project("Projects Overview")
80 out.nl() 82 out.nl()
81 83
82 commits = branch.commits 84 project = None
83 date = branch.date 85
84 print('%s %-33s (%2d commit%s, %s)' % ( 86 for branch in all_branches:
85 branch.name == project.CurrentBranch and '*' or ' ', 87 if project != branch.project:
86 branch.name, 88 project = branch.project
87 len(commits), 89 out.nl()
88 len(commits) != 1 and 's' or ' ', 90 out.project(
89 date)) 91 "project %s/"
90 for commit in commits: 92 % project.RelPath(local=opt.this_manifest_only)
91 print('%-35s - %s' % ('', commit)) 93 )
94 out.nl()
95
96 commits = branch.commits
97 date = branch.date
98 print(
99 "%s %-33s (%2d commit%s, %s)"
100 % (
101 branch.name == project.CurrentBranch and "*" or " ",
102 branch.name,
103 len(commits),
104 len(commits) != 1 and "s" or " ",
105 date,
106 )
107 )
108 for commit in commits:
109 print("%-35s - %s" % ("", commit))