From 54ef19e76b918985288a51e92bd552479ad59db1 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 12 Nov 2014 18:24:28 -0500 Subject: [PATCH] Make tag and branch keys list deterministically. --- src | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src b/src index 6d92790..89e8e55 100755 --- a/src +++ b/src @@ -254,7 +254,7 @@ class History: croak("{0} has no revno {1}".format(self.name, revno)) def isbranch(self, symbol): "Is this a branch symbol?" - return ".0" in symbol + return "0." in symbol def help_method(*_args): "Summarize src commands, or (with argument) show help for a single command." @@ -761,18 +761,24 @@ def tag_helper(args, legend, validation_hook, delete_method, set_method): width = screenwidth() for arg in ctx.args: metadata = History(arg) - sys.stdout.write("= %s %s\n" % (arg, ((width - len(arg) - 5) * "="))) - if legend == "branch": - sys.stdout.write(" 0\t%s\n" % metadata.branch) - for (key, value) in list(metadata.symbols.items()): + sys.stdout.write("= %s %s\n" \ + % (arg, ((width - len(arg) - 5) * "="))) + keys = metadata.symbols.keys() + if metadata.branch in keys: + keys.remove(metadata.branch) + keys = [metadata.branch] + keys + for key in keys: + value = metadata.symbols[key] if legend == "branch": - if key == metadata.branch: - continue display = backend.branch_to_base(value) + if not display: + display = 0 + else: + display = metadata.native_to_revno(display) else: - display = value + display = metadata.native_to_revno(value) if metadata.isbranch(value) == (legend == "branch"): - sys.stdout.write("%4d\t%s\n" % (metadata.native_to_revno(display),key)) + sys.stdout.write("%4s\t%s\n" % (display,key)) return if args[0] in ("-r", "rename"): args.pop(0) @@ -1140,6 +1146,7 @@ class RCS: do_or_die("rcs -q -u {0},v".format(arg)) def parse(self, metadata): "Get and parse the RCS log output for this file." + metadata.symbols["trunk"] = "0.1" with popen_or_die("cd %s >/dev/null; rlog %s 2>/dev/null; cd ..>/dev/null" % (repodir, metadata.name)) as fp: if debug >= DEBUG_PARSE: sys.stderr.write("\t-> init\n") -- 2.43.0