diff options
| author | Etan Cohen <etancohen@google.com> | 2014-07-09 21:33:31 -0700 |
|---|---|---|
| committer | Etan Cohen <etancohen@google.com> | 2014-07-11 10:56:03 -0700 |
| commit | 588142dfcb464a0db9ebc7b323ab2338d8f730de (patch) | |
| tree | 4a2bace371ca6800e19e293a9681acc15a6369f4 /subcmds/branches.py | |
| parent | 666d534636d262cbfd971509dd0f0be0cddb2e11 (diff) | |
| download | git-repo-588142dfcb464a0db9ebc7b323ab2338d8f730de.tar.gz git-repo-588142dfcb464a0db9ebc7b323ab2338d8f730de.zip | |
Provide detail print-out when not all projects of a branch are current.
When current is "split" (i.e. some projects are current while others are not):
- Disable 'not in' printout (i.e. will print out all projects)
- Disable printing of multiple projects on one line
- Print current projects in green, non-current in white
Since using color to differentiate current from non-current in "split" cases:
- In non-split cases also print out project names in color (green for current
white for non-current)
Change-Id: Ia6b826612c708447cecfe5954dc767f7b2ea2ea7
Diffstat (limited to 'subcmds/branches.py')
| -rw-r--r-- | subcmds/branches.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/subcmds/branches.py b/subcmds/branches.py index f714c1e8d..2902684a4 100644 --- a/subcmds/branches.py +++ b/subcmds/branches.py @@ -47,6 +47,10 @@ class BranchInfo(object): return self.current > 0 @property + def IsSplitCurrent(self): + return self.current != 0 and self.current != len(self.projects) + + @property def IsPublished(self): return self.published > 0 @@ -139,10 +143,14 @@ is shown, then the branch appears in all projects. if in_cnt < project_cnt: fmt = out.write paths = [] - if in_cnt < project_cnt - in_cnt: + non_cur_paths = [] + if i.IsSplitCurrent or (in_cnt < project_cnt - in_cnt): in_type = 'in' for b in i.projects: - paths.append(b.project.relpath) + if not i.IsSplitCurrent or b.current: + paths.append(b.project.relpath) + else: + non_cur_paths.append(b.project.relpath) else: fmt = out.notinproject in_type = 'not in' @@ -154,13 +162,19 @@ is shown, then the branch appears in all projects. paths.append(p.relpath) s = ' %s %s' % (in_type, ', '.join(paths)) - if width + 7 + len(s) < 80: + if not i.IsSplitCurrent and (width + 7 + len(s) < 80): + fmt = out.current if i.IsCurrent else fmt fmt(s) else: fmt(' %s:' % in_type) + fmt = out.current if i.IsCurrent else out.write for p in paths: out.nl() fmt(width*' ' + ' %s' % p) + fmt = out.write + for p in non_cur_paths: + out.nl() + fmt(width*' ' + ' %s' % p) else: out.write(' in all projects') out.nl() |
