From: Eric S. Raymond Date: Fri, 7 Nov 2014 02:15:54 +0000 (-0500) Subject: Fine-grained diff doesn't quite work. X-Git-Tag: 0.1~10 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=162618363f7b813a90d560fe2388ba0259a6783b;p=src.git Fine-grained diff doesn't quite work. --- diff --git a/src b/src index 15e338d..4227db3 100755 --- a/src +++ b/src @@ -346,11 +346,15 @@ def diff_method(*args): while args and args[0].startswith("-"): diffopts += " " + args.pop(0) for arg in args: - revlist = RCSLog(arg) do_or_die("mv .src/{0},v .".format(arg)) - if revspec is None: - # The || : suppresses the error return from diff(1) - do_or_die("rcsdiff -q {0} {1} || :".format(diffopts, arg), loud=True) + diffspec = "" + if revspec is not None: + state = RCSLog(arg) + diffspec += "-r" + state.revno_to_rcs(revspec[0]) + if len(revspec) > 1: + diffspec += " -r" + state.revno_to_rcs(revspec[1]) + # The || : suppresses the error return from diff(1) + do_or_die("rcsdiff -q {0} {1} {2} || :".format(diffspec, diffopts, arg),loud=True) do_or_die("mv {0},v .src".format(arg)) dispatch = {