version 1.125, 2008/02/03 18:18:44 |
version 1.126, 2008/02/04 15:07:33 |
|
|
|
|
void cvs_diff_local(struct cvs_file *); |
void cvs_diff_local(struct cvs_file *); |
|
|
static int Nflag = 0; |
static int Nflag = 0; |
static int force_head = 0; |
static int force_head = 0; |
static char *rev1 = NULL; |
static char *koptstr; |
static char *rev2 = NULL; |
static char *rev1 = NULL; |
|
static char *rev2 = NULL; |
|
|
struct cvs_cmd cvs_cmd_diff = { |
struct cvs_cmd cvs_cmd_diff = { |
CVS_OP_DIFF, CVS_USE_WDIR, "diff", |
CVS_OP_DIFF, CVS_USE_WDIR, "diff", |
|
|
"Show differences between revisions", |
"Show differences between revisions", |
"[-cilNnpRu] [[-D date] [-r rev] [-D date2 | -r rev2]] " |
"[-cilNnpRu] [[-D date] [-r rev] [-D date2 | -r rev2]] " |
"[-k mode] [file ...]", |
"[-k mode] [file ...]", |
"cfD:iklNnpr:Ru", |
"cfD:ik:lNnpr:Ru", |
NULL, |
NULL, |
cvs_diff |
cvs_diff |
}; |
}; |
|
|
"Show differences between revisions", |
"Show differences between revisions", |
"[-flR] [-c | -u] [-s | -t] [-V ver] -D date | -r rev\n" |
"[-flR] [-c | -u] [-s | -t] [-V ver] -D date | -r rev\n" |
"[-D date2 | -r rev2] [-k mode] module ...", |
"[-D date2 | -r rev2] [-k mode] module ...", |
"cfD:klr:Ru", |
"cfD:k:lr:RuV:", |
NULL, |
NULL, |
cvs_diff |
cvs_diff |
}; |
}; |
|
|
strlcat(diffargs, " -i", sizeof(diffargs)); |
strlcat(diffargs, " -i", sizeof(diffargs)); |
diff_iflag = 1; |
diff_iflag = 1; |
break; |
break; |
|
case 'k': |
|
koptstr = optarg; |
|
kflag = rcs_kflag_get(koptstr); |
|
if (RCS_KWEXP_INVAL(kflag)) { |
|
cvs_log(LP_ERR, |
|
"invalid RCS keyword expension mode"); |
|
fatal("%s", cvs_cmd_add.cmd_synopsis); |
|
} |
|
break; |
case 'l': |
case 'l': |
flags &= ~CR_RECURSE_DIRS; |
flags &= ~CR_RECURSE_DIRS; |
break; |
break; |
|
|
strlcat(diffargs, " -u", sizeof(diffargs)); |
strlcat(diffargs, " -u", sizeof(diffargs)); |
diff_format = D_UNIFIED; |
diff_format = D_UNIFIED; |
break; |
break; |
|
case 'V': |
|
fatal("the -V option is obsolete " |
|
"and should not be used"); |
default: |
default: |
fatal("%s", cvs_cmd_diff.cmd_synopsis); |
fatal("%s", cvs_cmd_diff.cmd_synopsis); |
} |
} |
|
|
if (!(flags & CR_RECURSE_DIRS)) |
if (!(flags & CR_RECURSE_DIRS)) |
cvs_client_send_request("Argument -l"); |
cvs_client_send_request("Argument -l"); |
|
|
|
if (kflag) |
|
cvs_client_send_request("Argument -k%s", koptstr); |
|
|
switch (diff_format) { |
switch (diff_format) { |
case D_CONTEXT: |
case D_CONTEXT: |
cvs_client_send_request("Argument -c"); |
cvs_client_send_request("Argument -c"); |
|
|
rev2 == NULL) { |
rev2 == NULL) { |
return; |
return; |
} |
} |
|
|
|
if (kflag) |
|
rcs_kwexp_set(cf->file_rcs, kflag); |
|
|
if (rev1 != NULL) |
if (rev1 != NULL) |
if ((diff_rev1 = rcs_translate_tag(rev1, cf->file_rcs)) == |
if ((diff_rev1 = rcs_translate_tag(rev1, cf->file_rcs)) == |