瀏覽代碼

Show colored explanation in git map-branches -h

Bug:

Change-Id: Ie624d20ecff2afd274043620fbb2edcbcee857c6
Reviewed-on: https://chromium-review.googlesource.com/476670
Commit-Queue: anatoly techtonik <techtonik@gmail.com>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
anatoly techtonik 8 年之前
父節點
當前提交
222840fb5f
共有 1 個文件被更改,包括 18 次插入4 次删除
  1. 18 4
      git_map_branches.py

+ 18 - 4
git_map_branches.py

@@ -3,8 +3,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-"""Provides a short mapping of all the branches in your local repo, organized
-by their upstream ('tracking branch') layout.
+"""Print dependency tree of branches in local repo.
 
 Example:
 origin/master
@@ -278,6 +277,19 @@ class BranchMapper(object):
       self.__append_branch(child, depth=depth + 1)
 
 
+def print_desc():
+  for line in __doc__.splitlines():
+    starpos = line.find('* ')
+    if starpos == -1 or '-' not in line:
+      print(line)
+    else:
+      _, color, rest = line.split(None, 2)
+      outline = line[:starpos+1]
+      outline += getattr(Fore, color.upper()) + " " + color + " " + Fore.RESET
+      outline += rest
+      print(outline)
+  print('')
+
 def main(argv):
   setup_color.init()
   if get_git_version() < MIN_UPSTREAM_TRACK_GIT_VERSION:
@@ -287,8 +299,10 @@ def main(argv):
         '.'.join(str(x) for x in MIN_UPSTREAM_TRACK_GIT_VERSION) +
         '. Please consider upgrading.')
 
-  parser = argparse.ArgumentParser(
-      description='Print a a tree of all branches parented by their upstreams')
+  if '-h' in argv:
+    print_desc()
+
+  parser = argparse.ArgumentParser()
   parser.add_argument('-v', action='count',
                       help='Display branch hash and Rietveld URL')
   parser.add_argument('--no-color', action='store_true', dest='nocolor',