]> thyrsus.com Git - src.git/commitdiff
We can list branches.
authorEric S. Raymond <esr@thyrsus.com>
Mon, 10 Nov 2014 19:35:40 +0000 (14:35 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Mon, 10 Nov 2014 19:35:40 +0000 (14:35 -0500)
src

diff --git a/src b/src
index 0de17165e395874c434ecd6583f2db3e2551fbf4..7d5ca87d084353b626303ee9a130afff5745a7f9 100755 (executable)
--- a/src
+++ b/src
@@ -639,12 +639,16 @@ def tag_helper(args, legend, validation_hook, delete_method, set_method):
                 metadata = History(arg)
                 sys.stdout.write("= %s %s\n" % (arg, ((width - len(arg) - 5) * "=")))
                 if legend == "branch":
-                    sys.stdout.write("%s\n" % metadata.branch)
+                    sys.stdout.write("   0\t%s\n" % metadata.branch)
                 for (key, value) in metadata.symbols.items():
-                    if legend == "branch" and key == metadata.branch:
-                        continue
+                    if legend == "branch":
+                        if key == metadata.branch:
+                            continue
+                        display = backend.branch_to_base(value)
+                    else:
+                        display = value
                     if metadata.isbranch(value) == (legend == "branch"):
-                        sys.stdout.write("%4d\t%s\n" % (metadata.rcs_to_revno(value),key))
+                        sys.stdout.write("%4d\t%s\n" % (metadata.rcs_to_revno(display),key))
             return
         if args[0] in ("-r", "rename"):
             args.pop(0)
@@ -1050,7 +1054,9 @@ class RCS:
                 print "\t%d revisions" % len(metadata.revlist)
                 print "\tlockrevs:", metadata.lockrevs
                 print "\tsymbols:", metadata.symbols
-
+    def branch_to_base(self, revid):
+        "Go from a branch ID to the revision it was based on."
+        return ".".join(revid.split(".")[:-1])
 
 if __name__ == "__main__":
     try: