patch(1): Add -Vnone option to disable backup files

Differential Revision:	https://reviews.freebsd.org/D3146
Reviewed by:	pfg
Approved by:	markj (mentor)
MFC after:	1 week
Relnotes:	yes
Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Conrad Meyer 2015-07-21 22:57:27 +00:00
parent e637a6e3f9
commit 300ca9a86e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=285772
3 changed files with 14 additions and 9 deletions

View File

@ -219,11 +219,11 @@ invalid_arg(const char *kind, const char *value, int problem)
}
static const char *backup_args[] = {
"never", "simple", "nil", "existing", "t", "numbered", 0
"none", "never", "simple", "nil", "existing", "t", "numbered", 0
};
static enum backup_type backup_types[] = {
simple, simple, numbered_existing,
none, simple, simple, numbered_existing,
numbered_existing, numbered, numbered
};

View File

@ -21,7 +21,7 @@
.\"
.\" $OpenBSD: patch.1,v 1.27 2014/04/15 06:26:54 jmc Exp $
.\" $FreeBSD$
.Dd June 15, 2014
.Dd July 21, 2015
.Dt PATCH 1
.Os
.Sh NAME
@ -39,7 +39,7 @@
.Op Fl o Ar out-file
.Op Fl p Ar strip-count
.Op Fl r Ar rej-name
.Op Fl V Cm t | nil | never
.Op Fl V Cm t | nil | never | none
.Op Fl x Ar number
.Op Fl z Ar backup-ext
.Op Fl Fl posix
@ -296,8 +296,8 @@ Forces
.Nm
to interpret the patch file as a unified context diff (a unidiff).
.It Xo
.Fl V Cm t | nil | never ,
.Fl Fl version-control Cm t | nil | never
.Fl V Cm t | nil | never | none ,
.Fl Fl version-control Cm t | nil | never | none
.Xc
Causes the next argument to be interpreted as a method for creating
backup file names.
@ -328,6 +328,8 @@ Make numbered backups of files that already have them,
simple backups of the others.
.It Cm never , simple
Always make simple backups.
.It Cm none
Do not make backups.
.El
.It Fl v , Fl Fl version
Causes

View File

@ -109,6 +109,8 @@ static bool remove_empty_files = false;
/* true if -R was specified on command line. */
static bool reverse_flag_specified = false;
static bool Vflag = false;
/* buffer holding the name of the rejected patch file. */
static char rejname[NAME_MAX + 1];
@ -201,7 +203,7 @@ main(int argc, char *argv[])
Argv = argv;
get_some_switches();
if (backup_type == none) {
if (!Vflag) {
if ((v = getenv("PATCH_VERSION_CONTROL")) == NULL)
v = getenv("VERSION_CONTROL");
if (v != NULL || !posix)
@ -595,6 +597,7 @@ get_some_switches(void)
break;
case 'V':
backup_type = get_version(optarg);
Vflag = true;
break;
#ifdef DEBUGGING
case 'x':
@ -631,8 +634,8 @@ usage(void)
fprintf(stderr,
"usage: patch [-bCcEeflNnRstuv] [-B backup-prefix] [-D symbol] [-d directory]\n"
" [-F max-fuzz] [-i patchfile] [-o out-file] [-p strip-count]\n"
" [-r rej-name] [-V t | nil | never] [-x number] [-z backup-ext]\n"
" [--posix] [origfile [patchfile]]\n"
" [-r rej-name] [-V t | nil | never | none] [-x number]\n"
" [-z backup-ext] [--posix] [origfile [patchfile]]\n"
" patch <patchfile\n");
my_exit(EXIT_FAILURE);
}