From 162618363f7b813a90d560fe2388ba0259a6783b Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 6 Nov 2014 21:15:54 -0500 Subject: [PATCH] Fine-grained diff doesn't quite work. --- src | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 = { -- 2.43.0