bug-rcs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rcsdiff + revision symbolic names BUG


From: Aaron S. Hawley
Subject: Re: rcsdiff + revision symbolic names BUG
Date: Mon, 17 Oct 2005 15:47:02 -0400 (EDT)

On Sat, 15 Oct 2005, Romain Francoise wrote:

> Your patch removes this 'intelligence' and as a result, rcsdiff will
> always skip diff generation when the revisions are identical, which is
> wrong if the user specified -y or -D.
>
> The "bug" is that RCS considers a long option name as a case where we
> don't know if diff(1) will produce output or not; indeed if the long
> options are --side-by-side or --ifdef (the long counterparts of -y and
> -D) then there will be output even if the revisions are identical.

Point taken.  Then, here's an even smaller patch:

--- rcsdiff.c   2005/10/14 20:35:53     1.1
+++ rcsdiff.c   2005/10/17 19:44:10
@@ -215,7 +215,11 @@
                    }
                    goto option_handled;
            case '-': case 'D':
-                   no_diff_means_no_output = false;
+                   if (c == 'D'
+                       || strcmp(*argv, "--side-by-side") == 0
+                       || strcmp(*argv, "--ifdef") == 0) {
+                       no_diff_means_no_output = false;
+                   }
                    /* fall into */
            case 'C': case 'F': case 'I': case 'L': case 'W':
 #if DIFF_L

Attachment: rcsdiff.c-option-fix.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]