Apply patches from the cvs-current package.
This commit is contained in:
parent
d30d584a91
commit
1aedcfb5d3
12
gnu/dist/cvs/doc/cvs.texinfo
vendored
12
gnu/dist/cvs/doc/cvs.texinfo
vendored
@ -40,6 +40,10 @@
|
||||
@setfilename cvs.info
|
||||
@include CVSvn.texi
|
||||
@settitle CVS---Concurrent Versions System
|
||||
@dircategory Programming & development tools
|
||||
@direntry
|
||||
* CVS: (cvs) CVS Reference Manual.
|
||||
@end direntry
|
||||
@setchapternewpage odd
|
||||
|
||||
@c -- TODO list:
|
||||
@ -47,14 +51,6 @@
|
||||
@c -- Also places marked with FIXME should be manual
|
||||
@c problems (as opposed to FIXCVS for CVS problems).
|
||||
|
||||
@ifinfo
|
||||
@format
|
||||
START-INFO-DIR-ENTRY
|
||||
* CVS: (cvs). Concurrent Versions System
|
||||
END-INFO-DIR-ENTRY
|
||||
@end format
|
||||
@end ifinfo
|
||||
|
||||
@ifinfo
|
||||
Copyright @copyright{} 1992, 1993 Signum Support AB
|
||||
Copyright @copyright{} 1993, 1994 Free Software Foundation, Inc.
|
||||
|
10
gnu/dist/cvs/man/cvs.1
vendored
10
gnu/dist/cvs/man/cvs.1
vendored
@ -358,11 +358,11 @@ file; see
|
||||
Incorporate a set of updates from off-site into the source repository,
|
||||
as a ``vendor branch''. (Changes repository.)
|
||||
.TP
|
||||
+.B init
|
||||
+Initialize a repository by adding the CVSROOT subdirectory and some default
|
||||
+control files. You must use this command or initialize the repository in
|
||||
+some other way before you can use it.
|
||||
+.TP
|
||||
.B init
|
||||
Initialize a repository by adding the CVSROOT subdirectory and some default
|
||||
control files. You must use this command or initialize the repository in
|
||||
some other way before you can use it.
|
||||
.TP
|
||||
.B log
|
||||
Display
|
||||
log information.
|
||||
|
2
gnu/dist/cvs/src/checkout.c
vendored
2
gnu/dist/cvs/src/checkout.c
vendored
@ -180,7 +180,7 @@ checkout (argc, argv)
|
||||
case 'p':
|
||||
pipeout = 1;
|
||||
run_module_prog = 0; /* don't run module prog when piping */
|
||||
noexec = 1; /* so no locks will be created */
|
||||
noexec = nolock = 1; /* so no locks will be created */
|
||||
break;
|
||||
case 'c':
|
||||
cat = 1;
|
||||
|
10
gnu/dist/cvs/src/client.c
vendored
10
gnu/dist/cvs/src/client.c
vendored
@ -4419,6 +4419,16 @@ the :server: access method is not supported by this port of CVS");
|
||||
error (1, 0,
|
||||
"This server does not support the global -n option.");
|
||||
}
|
||||
if (nolock && !noexec)
|
||||
{
|
||||
if (have_global)
|
||||
{
|
||||
send_to_server ("Global_option -u\012", 0);
|
||||
}
|
||||
else
|
||||
error (1, 0,
|
||||
"This server does not support the global -u option.");
|
||||
}
|
||||
if (quiet)
|
||||
{
|
||||
if (have_global)
|
||||
|
4
gnu/dist/cvs/src/commit.c
vendored
4
gnu/dist/cvs/src/commit.c
vendored
@ -1005,7 +1005,9 @@ warning: file `%s' seems to still contain conflict indicators",
|
||||
xmalloc (sizeof (struct logfile_info)));
|
||||
li->type = status;
|
||||
li->tag = xstrdup (vers->tag);
|
||||
li->rev_old = xstrdup (vers->vn_rcs);
|
||||
/* If the file was re-added, we want the revision in the commitlog
|
||||
to be NONE, not the previous dead revision. */
|
||||
li->rev_old = status == T_ADDED ? NULL : xstrdup (vers->vn_rcs);
|
||||
li->rev_new = NULL;
|
||||
p->data = (char *) li;
|
||||
(void) addnode (ulist, p);
|
||||
|
1
gnu/dist/cvs/src/cvs.h
vendored
1
gnu/dist/cvs/src/cvs.h
vendored
@ -393,6 +393,7 @@ extern char *emptydir_name PROTO ((void));
|
||||
|
||||
extern int trace; /* Show all commands */
|
||||
extern int noexec; /* Don't modify disk anywhere */
|
||||
extern int nolock; /* Don't create locks */
|
||||
extern int logoff; /* Don't write history entry */
|
||||
|
||||
extern int top_level_admin;
|
||||
|
2
gnu/dist/cvs/src/history.c
vendored
2
gnu/dist/cvs/src/history.c
vendored
@ -726,7 +726,7 @@ history_write (type, update_dir, revs, name, repository)
|
||||
if (trace)
|
||||
fprintf (stderr, "%s-> fopen(%s,a)\n",
|
||||
CLIENT_SERVER_STR, fname);
|
||||
if (noexec)
|
||||
if (nolock)
|
||||
goto out;
|
||||
fd = CVS_OPEN (fname, O_WRONLY | O_APPEND | O_CREAT | OPEN_BINARY, 0666);
|
||||
if (fd < 0)
|
||||
|
4
gnu/dist/cvs/src/lock.c
vendored
4
gnu/dist/cvs/src/lock.c
vendored
@ -395,7 +395,7 @@ Reader_Lock (xrepository)
|
||||
FILE *fp;
|
||||
char *tmp;
|
||||
|
||||
if (noexec)
|
||||
if (nolock)
|
||||
return (0);
|
||||
|
||||
/* we only do one directory at a time for read locks! */
|
||||
@ -467,7 +467,7 @@ Writer_Lock (list)
|
||||
{
|
||||
char *wait_repos;
|
||||
|
||||
if (noexec)
|
||||
if (nolock)
|
||||
return (0);
|
||||
|
||||
/* We only know how to do one list at a time */
|
||||
|
9
gnu/dist/cvs/src/logmsg.c
vendored
9
gnu/dist/cvs/src/logmsg.c
vendored
@ -589,6 +589,15 @@ title_proc (p, closure)
|
||||
strlen (str_list) + strlen (p->key) + 5);
|
||||
(void) strcat (str_list, p->key);
|
||||
break;
|
||||
case 't':
|
||||
str_list =
|
||||
xrealloc (str_list,
|
||||
(strlen (str_list)
|
||||
+ (li->tag ? strlen (li->tag) : 0)
|
||||
+ 10)
|
||||
);
|
||||
(void) strcat (str_list, (li->tag ? li->tag : ""));
|
||||
break;
|
||||
case 'V':
|
||||
str_list =
|
||||
xrealloc (str_list,
|
||||
|
8
gnu/dist/cvs/src/main.c
vendored
8
gnu/dist/cvs/src/main.c
vendored
@ -41,6 +41,7 @@ int really_quiet = 0;
|
||||
int quiet = 0;
|
||||
int trace = 0;
|
||||
int noexec = 0;
|
||||
int nolock = 0;
|
||||
int logoff = 0;
|
||||
|
||||
/* Set if we should be writing CVSADM directories at top level. At
|
||||
@ -229,6 +230,7 @@ static const char *const opt_usage[] =
|
||||
" -w Make checked-out files read-write (default).\n",
|
||||
" -l Turn history logging off.\n",
|
||||
" -n Do not execute anything that will change the disk.\n",
|
||||
" -u Don't create locks (implies -l).\n",
|
||||
" -t Show trace of program execution -- try with -n.\n",
|
||||
" -v CVS version and copyright.\n",
|
||||
" -T tmpdir Use 'tmpdir' for temporary files.\n",
|
||||
@ -509,7 +511,7 @@ main (argc, argv)
|
||||
opterr = 1;
|
||||
|
||||
while ((c = getopt_long
|
||||
(argc, argv, "+Qqrwtnlvb:T:e:d:Hfz:s:xa", long_options, &option_index))
|
||||
(argc, argv, "+Qqrwtnulvb:T:e:d:Hfz:s:xa", long_options, &option_index))
|
||||
!= EOF)
|
||||
{
|
||||
switch (c)
|
||||
@ -547,6 +549,8 @@ main (argc, argv)
|
||||
break;
|
||||
case 'n':
|
||||
noexec = 1;
|
||||
case 'u': /* Fall through */
|
||||
nolock = 1;
|
||||
case 'l': /* Fall through */
|
||||
logoff = 1;
|
||||
break;
|
||||
@ -926,7 +930,7 @@ Copyright (c) 1989-1998 Brian Berliner, david d `zoo' zuhn, \n\
|
||||
* BUT, only if the history file exists.
|
||||
*/
|
||||
|
||||
if (!client_active)
|
||||
if (!client_active && !nolock)
|
||||
{
|
||||
char *path;
|
||||
int save_errno;
|
||||
|
7
gnu/dist/cvs/src/rcs.c
vendored
7
gnu/dist/cvs/src/rcs.c
vendored
@ -3720,6 +3720,9 @@ static const struct rcs_keyword keywords[] =
|
||||
{ KEYWORD_INIT ("Revision") },
|
||||
{ KEYWORD_INIT ("Source") },
|
||||
{ KEYWORD_INIT ("State") },
|
||||
#ifdef LOCALID
|
||||
{ KEYWORD_INIT (LOCALID) },
|
||||
#endif
|
||||
{ NULL, 0 }
|
||||
};
|
||||
enum keyword
|
||||
@ -3734,7 +3737,8 @@ enum keyword
|
||||
KEYWORD_RCSFILE,
|
||||
KEYWORD_REVISION,
|
||||
KEYWORD_SOURCE,
|
||||
KEYWORD_STATE
|
||||
KEYWORD_STATE,
|
||||
KEYWORD_LOCALID
|
||||
};
|
||||
|
||||
/* Convert an RCS date string into a readable string. This is like
|
||||
@ -3962,6 +3966,7 @@ expand_keywords (rcs, ver, name, log, loglen, expand, buf, len, retbuf, retlen)
|
||||
|
||||
case KEYWORD_HEADER:
|
||||
case KEYWORD_ID:
|
||||
case KEYWORD_LOCALID:
|
||||
{
|
||||
char *path;
|
||||
int free_path;
|
||||
|
4
gnu/dist/cvs/src/recurse.c
vendored
4
gnu/dist/cvs/src/recurse.c
vendored
@ -507,7 +507,7 @@ do_recursion (frame)
|
||||
if (frame->flags == R_SKIP_ALL)
|
||||
return (0);
|
||||
|
||||
should_readlock = noexec ? 0 : frame->readlock;
|
||||
should_readlock = nolock ? 0 : frame->readlock;
|
||||
|
||||
/* The fact that locks are not active here is what makes us fail to have
|
||||
the
|
||||
@ -549,7 +549,7 @@ do_recursion (frame)
|
||||
*/
|
||||
if (server_active
|
||||
/* If there are writelocks around, we cannot pause here. */
|
||||
&& (should_readlock || noexec))
|
||||
&& (should_readlock || nolock))
|
||||
server_pause_check();
|
||||
#endif
|
||||
|
||||
|
5
gnu/dist/cvs/src/server.c
vendored
5
gnu/dist/cvs/src/server.c
vendored
@ -794,6 +794,8 @@ E Protocol error: Root says \"%s\" but pserver says \"%s\"",
|
||||
nothing. But for rsh, we need to do it now. */
|
||||
parse_config (CVSroot_directory);
|
||||
|
||||
if (!nolock)
|
||||
{
|
||||
path = malloc (strlen (CVSroot_directory)
|
||||
+ sizeof (CVSROOTADM)
|
||||
+ sizeof (CVSROOTADM_HISTORY)
|
||||
@ -824,6 +826,7 @@ Sorry, you don't have read/write access to the history file %s", path);
|
||||
pending_error = save_errno;
|
||||
}
|
||||
free (path);
|
||||
}
|
||||
|
||||
#ifdef HAVE_PUTENV
|
||||
env = malloc (strlen (CVSROOT_ENV) + strlen (CVSroot_directory) + 1 + 1);
|
||||
@ -2154,6 +2157,8 @@ serve_global_option (arg)
|
||||
{
|
||||
case 'n':
|
||||
noexec = 1;
|
||||
case 'u':
|
||||
nolock = 1;
|
||||
break;
|
||||
case 'q':
|
||||
quiet = 1;
|
||||
|
2
gnu/dist/cvs/src/tag.c
vendored
2
gnu/dist/cvs/src/tag.c
vendored
@ -856,7 +856,7 @@ Numeric tag %s contains characters other than digits and '.'", name);
|
||||
/* The tags is valid but not mentioned in val-tags. Add it. */
|
||||
datum value;
|
||||
|
||||
if (noexec)
|
||||
if (nolock)
|
||||
{
|
||||
if (db != NULL)
|
||||
dbm_close (db);
|
||||
|
9
gnu/dist/cvs/src/update.c
vendored
9
gnu/dist/cvs/src/update.c
vendored
@ -1366,11 +1366,18 @@ VERS: ", 0);
|
||||
xchmod (finfo->file, 1);
|
||||
else
|
||||
{
|
||||
mode_t oumask, writeaccess;
|
||||
|
||||
/* We know that we are the server here, so
|
||||
although xchmod checks umask, we don't bother. */
|
||||
mode |= (((mode & S_IRUSR) ? S_IWUSR : 0)
|
||||
/* Not bothering with the umask makes the files
|
||||
mode 0777 on old clients, though. -chb */
|
||||
oumask = umask(0);
|
||||
(void) umask(oumask);
|
||||
writeaccess = (((mode & S_IRUSR) ? S_IWUSR : 0)
|
||||
| ((mode & S_IRGRP) ? S_IWGRP : 0)
|
||||
| ((mode & S_IROTH) ? S_IWOTH : 0));
|
||||
mode |= (~oumask) & writeaccess;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user