Quoting Larry Jones <[EMAIL PROTECTED]>:
> > What exactly is the point of the cvswrappers option during import
> > (-W)... it doesn't seem to matter with rdiff. Is this just an
> rdiff
> > quirk, or am I missing something?
>
> It marks the file as binary, which affects many things -- including
> rdiff -- just not in the way you wanted.
Ok, but now it does. Here's a patch that works as follows:
For each file in the module we are rdiff'ing: if the two versions differ, but the file
is marked as "binary" (via cvswrappers, or cvs admin -kb), then instead of trying to
print the patch (which would result in an error and non-zero return code), just print
out a message like the "patch" program does, ie: "Binary files name:ver1 and
name:ver2 differ".
Here it is:
diff -urN cvs-1.11.1p1-orig/src/patch.c cvs-1.11.1p1-apc/src/patch.c
--- cvs-1.11.1p1-orig/src/patch.c Tue Apr 24 14:14:53 2001
+++ cvs-1.11.1p1-apc/src/patch.c Wed Oct 30 15:32:38 2002
@@ -590,6 +592,28 @@
case 0: /* nothing to do */
break;
case 1:
+ /* If files differ and are marked as binary, just output message */
+ if (rcsfile->expand != NULL && strcmp(rcsfile->expand, "b") == 0)
+ {
+ cvs_output("Binary files ", 0);
+ cvs_output(finfo->fullname, 0);
+ cvs_output(":", 1);
+ if (vers_tag)
+ cvs_output(vers_tag, 0);
+ else
+ cvs_output("missing", 0);
+ cvs_output(" and ", 0);
+ cvs_output(finfo->fullname, 0);
+ cvs_output(":", 1);
+ if (vers_head)
+ cvs_output(vers_head, 0);
+ else
+ cvs_output("removed", 0);
+ cvs_output(" differ",0);
+ cvs_output("\n",1);
+ break;
+ }
+
/*
* The two revisions are really different, so read the first two
* lines of the diff output file, and munge them to include more
_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs