Module Name: src
Committed By: mrg
Date: Sat Sep 24 11:37:27 UTC 2011
Modified Files:
src/external/gpl2/xcvs/dist/src: patch.c
Log Message:
implement cvs rdiff -p. (someone please upate the manual for me :)
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/gpl2/xcvs/dist/src/patch.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl2/xcvs/dist/src/patch.c
diff -u src/external/gpl2/xcvs/dist/src/patch.c:1.3 src/external/gpl2/xcvs/dist/src/patch.c:1.4
--- src/external/gpl2/xcvs/dist/src/patch.c:1.3 Fri Apr 10 11:20:30 2009
+++ src/external/gpl2/xcvs/dist/src/patch.c Sat Sep 24 11:37:27 2011
@@ -43,16 +43,18 @@
static char *tmpfile2 = NULL;
static char *tmpfile3 = NULL;
static int unidiff = 0;
+static int show_c_func = 0;
static const char *const patch_usage[] =
{
- "Usage: %s %s [-flR] [-c|-u] [-s|-t] [-V %%d] [-k kopt]\n",
+ "Usage: %s %s [-flR] [-p] [-c|-u] [-s|-t] [-V %%d] [-k kopt]\n",
" -r rev|-D date [-r rev2 | -D date2] modules...\n",
"\t-f\tForce a head revision match if tag/date not found.\n",
"\t-l\tLocal directory only, not recursive\n",
"\t-R\tProcess directories recursively.\n",
"\t-c\tContext diffs (default)\n",
"\t-u\tUnidiff format.\n",
+ "\t-p\tShow which C function each change is in.\n", /* --show-c-function */
"\t-s\tShort patch - one liner per file.\n",
"\t-t\tTop two diffs - last change made to the file.\n",
"\t-V vers\tUse RCS Version \"vers\" for keyword expansion.\n",
@@ -78,7 +80,7 @@
usage (patch_usage);
getoptreset ();
- while ((c = getopt (argc, argv, "+V:k:cuftsQqlRD:r:")) != -1)
+ while ((c = getopt (argc, argv, "+V:k:cuftsQqlRD:r:p")) != -1)
{
switch (c)
{
@@ -154,6 +156,9 @@
case 'c': /* Context diff */
unidiff = 0;
break;
+ case 'p':
+ show_c_func = 1;
+ break;
case '?':
default:
usage (patch_usage);
@@ -202,6 +207,8 @@
send_arg("-s");
if (unidiff)
send_arg("-u");
+ if (show_c_func)
+ send_arg("-p");
if (rev1)
option_with_arg ("-r", rev1);
@@ -571,6 +578,8 @@
if (unidiff) run_add_arg_p (&dargc, &darg_allocated, &dargv, "-u");
else run_add_arg_p (&dargc, &darg_allocated, &dargv, "-c");
+ if (show_c_func)
+ run_add_arg_p (&dargc, &darg_allocated, &dargv, "-p");
switch (diff_exec (tmpfile1, tmpfile2, NULL, NULL, dargc, dargv,
tmpfile3))
{