Hi All,
I'm writing this few words to propose a
patch to a Win32 path behaviour: system ignores case in path.
This generally isn't a problem (CVS just works) but try this
little sequence in NT and/or W9x command shell:
1> mkdir pippo
2> cd pippo
3> cvs co cvsroot/modules
4> cd cvsroot
5> edit modules
[make some changes to modules here]
6> cvs commit modules
|Checking in
modules;
|D:\CVS\CVSROOT/cvsroot/modules,v <-- modules |new revision: 1.4; previous revision: 1.3 |done Here's the bug: no 'commit: Rebuilding administrative file
database'!!!!
7> cd..
8> cvs release -d cvsroot
repeat now the sequence with line 4 as follows:
4 > cvs co CVSROOT/modules
Well, now the output of commit will be:
|Checking in
modules;
|D:\CVS\CVSROOT/CVSROOT/modules,v <-- modules |new revision: 1.5; previous revision: 1.4 |done |CVS.EXE commit: Rebuilding administrative file database Ok... I simply propose to replace a 'strcmp' with a
'stricmp' in commit.c source file.
I don't know how this may affect unix
behaviour.
Here's the patch in context diff (original sources
cvs-1.10.8):
---8<---
Index: gnu/CVS/src/commit.c
diff -c gnu/CVS/src/commit.c:1.1.1.1 gnu/CVS/src/commit.c:1.2 *** gnu/CVS/src/commit.c:1.1.1.1 Thu May 04 19:52:44 2000 --- gnu/CVS/src/commit.c Thu May 04 19:56:08 2000 *************** *** 1443,1452 **** p = repository + strlen (CVSroot_directory); if (*p == '/') ++p; ! if (strcmp ("CVSROOT", p) == 0 /* Check for subdirectories because people may want to create subdirectories and list files therein in checkoutlist. */ ! || strncmp ("CVSROOT/", p, strlen ("CVSROOT/")) == 0 ) { /* "Database" might a little bit grandiose and/or vague, --- 1443,1452 ---- p = repository + strlen (CVSroot_directory); if (*p == '/') ++p; ! if (stricmp ("CVSROOT", p) == 0 /* Check for subdirectories because people may want to create subdirectories and list files therein in checkoutlist. */ ! || strnicmp ("CVSROOT/", p, strlen ("CVSROOT/")) == 0 ) { /* "Database" might a little bit grandiose and/or vague, ---8<--- Lawers things: "I grant permission to
distribute this patch under the terms of the GNU Public License"
---
Bye, Fox. |
- Re: Win32 path related bug (& proposed patch) Francesco Costa