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:

  [EMAIL PROTECTED]:~/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

  [EMAIL PROTECTED]:~/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
  [EMAIL PROTECTED]:~/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:

  [EMAIL PROTECTED] ~/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

  [EMAIL PROTECTED] ~/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

  [EMAIL PROTECTED] ~/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/
#! /bin/sh
cvs co testproj
cd testproj

cat > bla <<%
 junk...
%

cvs add bla

mkdir Old
cat > Old/testfile <<%
 just some junk
%

cvs add Old
cd Old
cvs add testfile
cd ..

cvs commit -m "- 1st version, Old/"
cvs tag v1

cd Old
mv testfile ..
cvs rm testfile
cd ..
cvs rm Old

cvs commit -m "- 2nd version, after removing"
cvs tag v2

cd ..
cvs release -d testproj

cvs co -P testproj
cd testproj/

mkdir old/
cvs add old
cd old/

cat > testfile <<%
 just some junk
%

cvs add testfile

cd ..

cvs commit -m "- 3rd version, with old/"
cvs tag v3

cd ..
cvs release -d testproj
_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/info-cvs

Reply via email to