Force an over-the-wire transaction when resolving the root of an NFS mount
[dragonfly.git] / gnu / usr.bin / cvs / cvs / parseinfo.c.patch
blob8a80d5640f336ac4423e7cba0a495c2121e9c3c7
1 $DragonFly: src/gnu/usr.bin/cvs/cvs/Attic/parseinfo.c.patch,v 1.4 2005/12/07 01:16:30 corecode Exp $
2 Index: src/parseinfo.c
3 ===================================================================
4 RCS file: /space/cvs/dragonfly/src/contrib/cvs-1.12/src/parseinfo.c,v
5 retrieving revision 1.1.1.1
6 diff -u -r1.1.1.1 parseinfo.c
7 --- src/parseinfo.c 7 Dec 2005 00:15:19 -0000 1.1.1.1
8 +++ src/parseinfo.c 7 Dec 2005 01:04:02 -0000
9 @@ -384,6 +384,7 @@
10 size_t len;
11 char *p;
12 struct config *retval;
13 + int rescan = 0;
14 /* PROCESSING Whether config keys are currently being processed for
15 * this root.
16 * PROCESSED Whether any keys have been processed for this root.
17 @@ -429,6 +430,7 @@
19 retval = new_config ();
21 +again:
22 fp_info = CVS_FOPEN (infopath, "r");
23 if (!fp_info)
25 @@ -553,9 +555,11 @@
26 readBool (infopath, "SystemAuth", p, &dummy);
28 #endif
29 - else if (strcmp (line, "LocalKeyword") == 0)
30 + else if (strcmp (line, "LocalKeyword") == 0 ||
31 + strcmp (line, "tag") == 0)
32 RCS_setlocalid (infopath, ln, &retval->keywords, p);
33 - else if (strcmp (line, "KeywordExpand") == 0)
34 + else if (strcmp (line, "KeywordExpand") == 0 ||
35 + strcmp (line, "tagexpand") == 0)
36 RCS_setincexc (&retval->keywords, p);
37 else if (strcmp (line, "PreservePermissions") == 0)
39 @@ -719,5 +723,12 @@
40 if (freeinfopath) free (freeinfopath);
41 if (buf) free (buf);
43 + if (path == NULL && !rescan++) {
44 + infopath = freeinfopath =
45 + Xasprintf ("%s/%s/%s", cvsroot, CVSROOTADM, CVSROOTADM_OPTIONS);
46 + buf = NULL;
47 + goto again;
48 + }
50 return retval;