From: Eric S. Raymond Date: Sun, 9 Nov 2014 20:52:43 +0000 (-0500) Subject: Repair broken diff command. X-Git-Tag: 0.4~37 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=96ef54b8648fb500d057e56bc042fe369828a765;p=src.git Repair broken diff command. --- diff --git a/src b/src index ef822c1..0e8ce3f 100755 --- a/src +++ b/src @@ -753,7 +753,8 @@ def release_method(*args): elif not os.path.exists(backend.master(arg)): croak("%s is not registered, skipping" % arg) else: - backend.release(arg) + with backend.lifter(arg): + backend.release(arg) def ls_method(*args): "List registered files." @@ -940,12 +941,13 @@ class RCS: self.master(target))) def diff(self, diffspec1, diffspec2, diffopts, arg): "Report a diff." - # The || : suppresses the error return from diff(1) if diffspec1: diffspec1 = "-r" + diffspec1 if diffspec2: diffspec2 = "-r" + diffspec1 - do_or_die("rcsdiff -q {0} {1} {2} || :".format(diffspec, diffopts, arg),loud=True) + # The || : is a hacky shell trick that suppresses the error + # return from diff(1). + do_or_die("rcsdiff -q {0} {1} {2} {3} || :\n".format(diffspec1, diffspec2, diffopts, arg), loud=True) def release(self, arg): "Release locks." do_or_die("rcs -q -u {0},v".format(arg))