info-cvs
[Top][All Lists]
Advanced

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

Re: Windows with Dir/ and dir/


From: Spiro Trikaliotis
Subject: Re: Windows with Dir/ and dir/
Date: Mon, 21 Jun 2004 15:58:17 +0200
User-agent: Mutt/1.5.6i

Hello,

I'm replying to an old mail (and answer) from me, because I took the
time to generate a skript which shows the behaviour I mentioned (and it
still happens, even with 1.11.17).

My first posting on this can be found on
http://lists.gnu.org/archive/html/info-cvs/2004-04/msg00201.html

My problem is that if I have a directory Dir/, and I rename it to the
name dir/, cvs has problems with this on a Windows box.


* On Mon, Apr 19, 2004 at 11:10:42AM -0400 Derek Robert Price wrote:
 
> Spiro Trikaliotis wrote:
> 
> >Anyway, if I do a checkout (again, with -P) from the Windows machine, I
> >get the following files:
> >
> >module/Dir/1
> >module/Dir/2
> >
> >but the files 1 and 2 have the contents of the files which are in
> >module/dir/1 and module/dir/2!
[...] 
> You shouldn't have this problem if you upgrade your server to 1.11.15.

No, this does not fix this issue. The attached bash-skript uses an empty
module named "testproj" to show the issue. You can run it from a Linux
box to generate such a module (you have to answer "y" two times for the
release -d), and see what happens.

The following tests were all done using self-compiled plain-vanilla 
cvs 1.11.17 on a Linux box and a Windows box (client); the server was
always used remotely via ssh, and it was always located on the Linux
box.

If I checkout the testproj from the Linux box and want to release it
again, I get:

  address@hidden:~/6$ cvs co testproj
  cvs checkout: Updating testproj
  U testproj/bla
  cvs checkout: Updating testproj/Old
  cvs checkout: Updating testproj/old
  U testproj/old/testfile

  address@hidden:~/6$ ls -l testproj/
  insgesamt 12
  -rw-r--r--    1 me me       9 21. Jun 15:36 bla
  drwxr-xr-x    2 me me    4096 21. Jun 15:51 CVS
  drwxr-xr-x    3 me me    4096 21. Jun 15:51 old
  address@hidden:~/6$ cvs release -d testproj
  You have [0] altered files in this repository.
  Are you sure you want to release (and delete) directory `testproj': y

If I do the same on a windows machine (full cygwin installation), I get:

  address@hidden ~/cvstest
  $ cvs co testproj
  cvs checkout: Updating testproj
  U testproj/bla
  cvs checkout: Updating testproj/Old
  cvs checkout: Updating testproj/old
  U testproj/old/testfile

  address@hidden ~/cvstest
  $ ls -l testproj/
  total 1
  drwxr-xr-x+   2 me None        0 Jun 21 15:50 CVS
  drwxr-xr-x+   3 me None        0 Jun 21 15:50 Old
  -rw-r--r--    1 me None       10 Jun 21 15:36 bla

  address@hidden ~/cvstest
  $ cvs release -d testproj
  cvs server: WARNING: global `-l' option ignored.
  cvs update: Old/testfile is no longer in the repository
  You have [0] altered files in this repository.
  Are you sure you want to release (and delete) directory `testproj': y
  cvs release: no such directory: testproj


Have a look at the line "cvs update: Old/testfile is no longer in the
repository". Furthermore, you will recognize that the Linux machine has
the (correct!) "old/" directory, while the Windows box named it "Old/"
with an uppercase "O".

If I edit testproj/Old/CVS/Repository and replace Old/ with old/, all
works as expected. So, obviously, cvs seems to get the traces to the
"wrong" directory.

Because of this, not only release does not work, but even a commit to
the files in these directories is not possible. In fact, I have to
manually edit the CVS/ files to get it to work from the windows box.

Regards,
   Spiro.

-- 
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/

Attachment: testcvs
Description: Text document


reply via email to

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