Cleanup 'git cl status' in preparation to add new features.
Reduce the number of conditions and use more early exits to reduce the number of
code paths.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/19463011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213173 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl.py b/git_cl.py
index c1ae3f7..db98230 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -1066,21 +1066,8 @@
help='print only specific field (desc|id|patch|url)')
(options, args) = parser.parse_args(args)
- # TODO: maybe make show_branches a flag if necessary.
- show_branches = not options.field
-
- if show_branches:
- branches = RunGit(['for-each-ref', '--format=%(refname)', 'refs/heads'])
- if branches:
- changes = (Changelist(branchref=b) for b in branches.splitlines())
- branches = dict((cl.GetBranch(), cl.GetIssueURL()) for cl in changes)
- alignment = max(5, max(len(b) for b in branches))
- print 'Branches associated with reviews:'
- for branch in sorted(branches):
- print " %*s: %s" % (alignment, branch, branches[branch])
-
- cl = Changelist()
if options.field:
+ cl = Changelist()
if options.field.startswith('desc'):
print cl.GetDescription()
elif options.field == 'id':
@@ -1095,16 +1082,29 @@
url = cl.GetIssueURL()
if url:
print url
- else:
- print
- print 'Current branch:',
- if not cl.GetIssue():
- print 'no issue assigned.'
- return 0
- print cl.GetBranch()
- print 'Issue number: %s (%s)' % (cl.GetIssue(), cl.GetIssueURL())
- print 'Issue description:'
- print cl.GetDescription(pretty=True)
+ return 0
+
+ branches = RunGit(['for-each-ref', '--format=%(refname)', 'refs/heads'])
+ if not branches:
+ print('No local branch found.')
+ return 0
+
+ changes = (Changelist(branchref=b) for b in branches.splitlines())
+ branches = dict((c.GetBranch(), c.GetIssueURL()) for c in changes)
+ alignment = max(5, max(len(b) for b in branches))
+ print 'Branches associated with reviews:'
+ for branch in sorted(branches):
+ print " %*s: %s" % (alignment, branch, branches[branch])
+ cl = Changelist()
+ print
+ print 'Current branch:',
+ if not cl.GetIssue():
+ print 'no issue assigned.'
+ return 0
+ print cl.GetBranch()
+ print 'Issue number: %s (%s)' % (cl.GetIssue(), cl.GetIssueURL())
+ print 'Issue description:'
+ print cl.GetDescription(pretty=True)
return 0