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>
diff --git a/git_map_branches.py b/git_map_branches.py
index b889b45..58bfb35 100755
--- a/git_map_branches.py
+++ b/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 @@
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 @@
'.'.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',