diff options
author | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
---|---|---|
committer | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
commit | 5e0e9b99dc3fc0ecd49d929db0d57c784b66f481 (patch) | |
tree | e779b5a6edddbb949b7990751b12d6f25304ba86 /gnu/usr.bin/cvs/cvs/patch.c | |
parent | a16f65c7d117419bd266c28a1901ef129a337569 (diff) | |
download | src-releng/1.tar.gz src-releng/1.zip |
Release FreeBSD 1.1.5.1upstream/1.1.5.1_cvsrelease/1.1.5.1_cvsreleng/1
This commit was manufactured to restore the state of the 1.1.5.1-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
Diffstat (limited to 'gnu/usr.bin/cvs/cvs/patch.c')
-rw-r--r-- | gnu/usr.bin/cvs/cvs/patch.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/gnu/usr.bin/cvs/cvs/patch.c b/gnu/usr.bin/cvs/cvs/patch.c index 11134a714989..abc02fd73936 100644 --- a/gnu/usr.bin/cvs/cvs/patch.c +++ b/gnu/usr.bin/cvs/cvs/patch.c @@ -43,6 +43,8 @@ static char *rev1 = NULL; static char *rev2 = NULL; static char *date1 = NULL; static char *date2 = NULL; +static char *K_flag1 = NULL; +static char *K_flag2 = NULL; static char tmpfile1[L_tmpnam+1], tmpfile2[L_tmpnam+1], tmpfile3[L_tmpnam+1]; static int unidiff = 0; @@ -60,6 +62,7 @@ static char *patch_usage[] = "\t-D date\tDate.\n", "\t-r rev\tRevision - symbolic or numeric.\n", "\t-V vers\tUse RCS Version \"vers\" for keyword expansion.\n", + "\t-K key\tUse RCS key -K option on checkout.\n", NULL }; @@ -77,7 +80,7 @@ patch (argc, argv) usage (patch_usage); optind = 1; - while ((c = gnu_getopt (argc, argv, "V:k:cuftsQqlRD:r:")) != -1) + while ((c = gnu_getopt (argc, argv, "V:k:cuftsQqlRD:r:K:")) != -1) { switch (c) { @@ -139,6 +142,14 @@ patch (argc, argv) case 'c': /* Context diff */ unidiff = 0; break; + case 'K': + if (K_flag2 != NULL) + error (1, 0, "no more than two -K flags can be specified"); + if (K_flag1 != NULL) + K_flag2 = optarg; + else + K_flag1 = optarg; + break; case '?': default: usage (patch_usage); @@ -149,6 +160,11 @@ patch (argc, argv) argv += optind; /* Sanity checks */ + /* Check for dummy -K flags */ + if (K_flag1 && K_flag1[0] != 'e' && K_flag1[0] != 'i') + error (1, 0, "-K flag does not start e or i"); + if (K_flag2 && K_flag2[0] != 'e' && K_flag2[0] != 'i') + error (1, 0, "-K flag does not start e or i"); if (argc < 1) usage (patch_usage); @@ -364,7 +380,8 @@ patch_fileproc (file, update_dir, repository, entries, srcfiles) } if (vers_tag != NULL) { - run_setup ("%s%s %s -p -q -r%s", Rcsbin, RCS_CO, options, vers_tag); + run_setup ("%s%s %s -p -q -r%s %s%s", Rcsbin, RCS_CO, options, + vers_tag, K_flag1 ? "-K" : "", K_flag1 ? K_flag1 : ""); run_arg (rcsfile->path); if ((retcode = run_exec (RUN_TTY, tmpfile1, RUN_TTY, RUN_NORMAL)) != 0) { @@ -382,7 +399,8 @@ patch_fileproc (file, update_dir, repository, entries, srcfiles) } if (vers_head != NULL) { - run_setup ("%s%s %s -p -q -r%s", Rcsbin, RCS_CO, options, vers_head); + run_setup ("%s%s %s -p -q -r%s %s%s", Rcsbin, RCS_CO, options, + vers_head, K_flag2 ? "-K" : "", K_flag2 ? K_flag2 : ""); run_arg (rcsfile->path); if ((retcode = run_exec (RUN_TTY, tmpfile2, RUN_TTY, RUN_NORMAL)) != 0) { |