[cvsnt] Inconsistent CVSNT "case" behaviour

Ritchie, Andrew Andrew.Ritchie at ca.com
Thu Oct 22 16:12:27 BST 2009


I have a question about the way in which cvsnt handles case-sensitivity
on Windows

(I know Windows is a case-insensitive filesystem).  By way on an
example, here is my

question:

 

If we have a CVS repository consisting of the following:-

 

                projects/             -> CASE/              -> A_File.c
(tag=projA)

                                                -> case/
-> B_File.c (tag=projB)

                                                -> parent.c (tag=projA,
projB)

 

When executing "cvs checkout -r projB projects" on a Windows system I
get the follow

 

                projects/             -> CASE/              -> B_File.c
(tag=projB)

                                                -> parent.c (tag=projB)

 

As you can see, the "B_File.c" has ended up under the "CASE" folder
rather than the "case"

folder (even though there are no files under CASE that are tagged for
"projB).  Whilst this is

not a problem on a case-insensitive system, it does cause a problem if
you then modify that

file and try to check it back in.  It will fail because no "B_file.c"
exists in the repository under

the "CASE" folder.

 

To me, the behavior of CVSNT should be consistent with the
case-sensitive nature of the

repository.  In other words, CVSNT should only create folders, using the
correct case-sensitive

name matching the folder in which the file(s) resides, when it
encounters a file that matches

the checkout criteria.

 

In the example above, it looks like CVSNT is performing a
case-insensitive comparison of

folder names (and is therefore failing to update its copy of the folder
name to match that of

the folder in which the file it has found resides) on checkout, but is
performing a case-sensitive

comparison on checkin.

 

Is this a known problem/limitation?

Is this behavior still present in EVS?

Is there any way to change the behavior by, say, the use of a
command-line switch?

 

Regards,

Andrew

 



More information about the cvsnt mailing list