Merge "Provide detail print-out when not all projects of a branch are current."

This commit is contained in:
Conley Owens 2014-08-26 21:11:39 +00:00 committed by Gerrit Code Review
commit bf0b0cbc2f

View File

@ -46,6 +46,10 @@ class BranchInfo(object):
def IsCurrent(self): def IsCurrent(self):
return self.current > 0 return self.current > 0
@property
def IsSplitCurrent(self):
return self.current != 0 and self.current != len(self.projects)
@property @property
def IsPublished(self): def IsPublished(self):
return self.published > 0 return self.published > 0
@ -139,10 +143,14 @@ is shown, then the branch appears in all projects.
if in_cnt < project_cnt: if in_cnt < project_cnt:
fmt = out.write fmt = out.write
paths = [] paths = []
if in_cnt < project_cnt - in_cnt: non_cur_paths = []
if i.IsSplitCurrent or (in_cnt < project_cnt - in_cnt):
in_type = 'in' in_type = 'in'
for b in i.projects: 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: else:
fmt = out.notinproject fmt = out.notinproject
in_type = 'not in' in_type = 'not in'
@ -154,13 +162,19 @@ is shown, then the branch appears in all projects.
paths.append(p.relpath) paths.append(p.relpath)
s = ' %s %s' % (in_type, ', '.join(paths)) 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) fmt(s)
else: else:
fmt(' %s:' % in_type) fmt(' %s:' % in_type)
fmt = out.current if i.IsCurrent else out.write
for p in paths: for p in paths:
out.nl() out.nl()
fmt(width*' ' + ' %s' % p) fmt(width*' ' + ' %s' % p)
fmt = out.write
for p in non_cur_paths:
out.nl()
fmt(width*' ' + ' %s' % p)
else: else:
out.write(' in all projects') out.write(' in all projects')
out.nl() out.nl()