bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-cvs] bug with cvs ignore processing?


From: Derek R. Price
Subject: Re: [Bug-cvs] bug with cvs ignore processing?
Date: Wed, 08 Nov 2000 12:27:54 -0500

Kuros Yalpani wrote:

> Michael Peck schrieb:
>
> > Because NT is not case sensitive, CVS is told by the OS that the file 
> > already
> > exists when you try to add the new file (with the corrected case).

This might be fixable on the client side and though I'm not convinced the 
behavior is
incorrect, I AM suspicious that it might be.


> > All DOS
> > programs have this behavior, I mean Windows apps.
>
> Actually, this is not so. In DOS/Windows/NT, if you delete a file and then 
> recreate
> it
> with a new case then there is no problem. The OS does not maintain a history 
> of the
> filename. BUT, cvs does! And in my view it incorrectly tries to resurrect the 
> old
> file.

Calling it incorrect is questionable since CVS running on a UNIX server is 
going to
maintain case sensitive file names because it can and because UNIX types want 
that
sometimes.  You might be able to accomplish something with rename tracking, but 
CVS
doesn't do that yet - an old problem that I haven't heard anybody talking much 
about
solving recently.

If you are working in a Windoze, er DOS, -only environment, someone mentioned 
that you
could rename the archive file on the server as a workaround, but if your 
repository is
interoperating with case sensitive systems, this will cause problems in any 
workspaces
where the file is currently checked out and maybe break old builds as the file 
name
change is not being tracked by CVS (i.e. make thinks that file and FILE are 
different
files too).


> BTW, What I am looking for is a proper fix for this problem, i.e. no 
> workaround and
> since I am  gnu lover, I will gladly return back a solution for a bit of help 
> from
> the CVS guru's that helps me find out where the problem is.. I have a feeling
> though that I haven't convinced you yet that this is a problem.

Well, like I said, you could probably fix the client side so that a 'cvs rm 
file',
'cvs add FILE' sequence would do what you'd expect without breaking anything on 
a case
sensitive server, but I haven't analyzed the problem fully.

I wouldn't ever expect CVS to notice that you had done a simple (and OS 
specific)
rename of a file, at least under the current architecture.  I must admit that 
it seems
to make _some_ sense from the standpoint of a case insensitive client, but from 
a case
sensitive server's point of view you are performing an implicit 'cvs rm', 'cvs 
add'.
This is a messy situation, at least until somebody implements some sort of 
rename
tracking for CVS, as not everybody likes that method of renaming files (or any 
method
currently available to CVS, for that matter).

Also, from a case insensitive client's point of view, this is functionally 
equivalent
to noticing a filename change from old.c to old.c.sav and assuming that the 
rename
should be checked into the repository.  If this really seemed to be a useful 
feature,
I can imagine the equivalent of an ignore list for renames containing, say, 
*.sav, *~,
etc., but I'm not nearly convinced that it's useful enough to be worth the 
effort.

Derek

--
Derek Price                      CVS Solutions Architect ( http://CVSHome.org )
mailto:dprice@openavenue.com     OpenAvenue ( http://OpenAvenue.com )
--
As honest as the day is long.

                - S. Z. Sakall as Headwaiter Carl, _Casablanca_






reply via email to

[Prev in Thread] Current Thread [Next in Thread]