Re: Windows with Dir/ and dir/
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-x2 me me4096 21. Jun 15:51 CVS drwxr-xr-x3 me me4096 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 None0 Jun 21 15:50 CVS drwxr-xr-x+ 3 me None0 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
Re: Windows with Dir/ and dir/
Hello Derek, * On Mon, Apr 26, 2004 at 04:37:40PM -0400 Derek Robert Price wrote: This is probably a long shot, but when you are definately checking out a clean sandbox into an empty directory with one of these freshly-compiled CVS's, do you see all conflicts on the next execution of cvs update with the fresh CVS, or only cvs release? Doing a cvs update with 1.11.15 on server and client, this problem persists. Anyway, I found out something very weird: I just set up ssh-agent, so I don't have to input my passphrase over and over again. If I use that one, the problem does not occur, even if I do *not* ssh-add the key! Do you want to see an example? [... no ssh-agent is running ...] $ cvs co vice $ cd vice $ cvs update [... error occurs...] $ cd .. $ cvs release -d vice [... error occurs ...] $ ssh-agent /tmp/sshagent.test $ cvs co vice $ cd vice $ cvs update [... error occurs...] $ cd .. $ cvs release -d vice [... error occurs ...] $ . /tmp/sshagent.test $ cvs co vice $ cd vice $ cvs update [NO error!] $ cd .. $ cvs release -d vice [NO error!] Now, that's weird, isn't it? Spiro. -- Spiro R. Trikaliotis I'm subscribed to the mailing lists I'm posting, http://www.trikaliotis.net/ so please refrain from Cc:ing me. Thank you. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Spiro Trikaliotis wrote: I recompiled CVS two times, once on a cygwin with DOS line endings, once on a cygwin with Unix line endings. With every version, I checked out the module and tried to release it again. In both cases, the result remained, so this does not seem to be the cause. This is probably a long shot, but when you are definately checking out a clean sandbox into an empty directory with one of these freshly-compiled CVS's, do you see all conflicts on the next execution of cvs update with the fresh CVS, or only cvs release? Derek - -- *8^) Email: [EMAIL PROTECTED] Get CVS support at http://ximbiot.com! -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFAjXMULD1OTBfyMaQRAprcAJ9wNN3eumbDHLsopPd1C/L7DesV/wCfWJe1 vEV7Xb/CrDjlhp6wOflntE8= =AwSn -END PGP SIGNATURE- ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
Hello, * On Tue, Apr 20, 2004 at 11:22:33AM -0400 Derek Robert Price wrote: Spiro Trikaliotis wrote: the corrected output is: cvs update: cannot open directory /var/lib/cvs/cbm/viceCR: No such file or directoryNL[...] where CR and NL are the respective characters. This can happen if you try to make the Cygwin CVS use a workspace which was created or used by a different Windows CVS (commandline, WinCVS, whatever...). They leave CRs on the end of lines in CVS/* files (in this case probably CVS/Repository) and the Cygwin CVS, looking for UNIX EOLs, treats them as part of the directory/file name, sends them to the server, then the server reports no-such-file-or-directory since it doesn't know about viceCR, only vice. I recompiled CVS two times, once on a cygwin with DOS line endings, once on a cygwin with Unix line endings. With every version, I checked out the module and tried to release it again. In both cases, the result remained, so this does not seem to be the cause. Best regards, Spiro. -- Spiro R. Trikaliotis I'm subscribed to the mailing lists I'm posting, http://www.trikaliotis.net/ so please refrain from Cc:ing me. Thank you. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
Hello Todd, thanks for your suggestions. * On Mon, Apr 19, 2004 at 03:51:44PM -0500 Todd Denniston wrote: : No such file or directoryectory /var/lib/cvs/cbm/vice cvs update: skipping directory You have [0] altered files in this repository. Are you sure you want to release (and delete) directory `vice': y (this is a verbatim copy, the word directoryectory is there in the original output!) I am used to this kind of output coming if there is an embedded \r in the thing being printed. The way to actually see what is going on is to do (assuming cygwin has script): No, cygwin does not have script (or at least not installed). Anyway, cvs release -d ... 21|tee out works, too. or if you really want to be sure run `od -a logerrorfile.txt |less `. the corrected output is: cvs update: cannot open directory /var/lib/cvs/cbm/viceCR: No such file or directoryNL[...] where CR and NL are the respective characters. after you see what is really coming out, things are usually clearer as to what went wrong. Well, yes, to a limited extent. ;-) I assume you either wrote over the original bin/cvs you had or are in some other way making sure you are executing the new version? Yes, I executed path-to-cvs/cvs directly (and did a cvs --version to be sure). Anyway, I found out this not to be optimal, as CVS seems to try to run exactly path-to-cvs/cvs on the server, which cannot be found or, even worse, might be something different (as in my case). At least, my crash has gone after I put the new path into the PATH environment variable. Thanks, Spiro. -- Spiro R. Trikaliotis http://www.trikaliotis.net/ ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
Spiro Trikaliotis wrote: Hello Todd, thanks for your suggestions. * On Mon, Apr 19, 2004 at 03:51:44PM -0500 Todd Denniston wrote: SNIP I assume you either wrote over the original bin/cvs you had or are in some other way making sure you are executing the new version? Yes, I executed path-to-cvs/cvs directly (and did a cvs --version to be sure). Anyway, I found out this not to be optimal, as CVS seems to try to run exactly path-to-cvs/cvs on the server, which cannot be found or, even worse, might be something different (as in my case). At least, my crash has gone after I put the new path into the PATH environment variable. You might want to undo that and set CVS_SERVER=path-to-cvs/cvs on the client, ssh and rsh methods will use that to execute the correct server version... makes it nice and easy to try new versions out. -- Todd Denniston Crane Division, Naval Surface Warfare Center (NSWC Crane) Harnessing the Power of Technology for the Warfighter ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Spiro Trikaliotis wrote: No, cygwin does not have script (or at least not installed). Anyway, cvs release -d ... 21|tee out works, too. or if you really want to be sure run `od -a logerrorfile.txt |less `. the corrected output is: cvs update: cannot open directory /var/lib/cvs/cbm/viceCR: No such file or directoryNL[...] where CR and NL are the respective characters. This can happen if you try to make the Cygwin CVS use a workspace which was created or used by a different Windows CVS (commandline, WinCVS, whatever...). They leave CRs on the end of lines in CVS/* files (in this case probably CVS/Repository) and the Cygwin CVS, looking for UNIX EOLs, treats them as part of the directory/file name, sends them to the server, then the server reports no-such-file-or-directory since it doesn't know about viceCR, only vice. Derek - -- *8^) Email: [EMAIL PROTECTED] Get CVS support at http://ximbiot.com! -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFAhUA4LD1OTBfyMaQRAq1iAKDZ58rTcgtwCAcXRSN77/s0rlV1vgCgkbzp D8bKrtyJndkw/RqBE4MO2u4= =TARP -END PGP SIGNATURE- ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
Derek Robert Price writes: This can happen if you try to make the Cygwin CVS use a workspace which was created or used by a different Windows CVS (commandline, WinCVS, whatever...). They leave CRs on the end of lines in CVS/* files (in this case probably CVS/Repository) and the Cygwin CVS, looking for UNIX EOLs, treats them as part of the directory/file name, sends them to the server, then the server reports no-such-file-or-directory since it doesn't know about viceCR, only vice. Note that this does not happen if you install Cygwin correctly (i.e., using Windows line endings rather than Unix line endings). -Larry Jones My dreams are getting way too literal. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 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! I know and understand that Windows is case insensitive, but this behaviour is very surprising to me. I would have expected that the Windows (cygwin) version of CVS creates exactly the files with the case that it used to check the files out, nothing else). Even the file module/dir/CVS/Repository points to module/Dir (and not to module/dir which I would have expected). You shouldn't have this problem if you upgrade your server to 1.11.15. Derek - -- *8^) Email: [EMAIL PROTECTED] Get CVS support at http://ximbiot.com! -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFAg+vxLD1OTBfyMaQRAq1WAKCwrsXQHMdRtYUPiDAfVsR5Jr3mqwCfeMN/ nWb/TsI30IVsjzvqW11fALI= =ahK8 -END PGP SIGNATURE- ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Windows with Dir/ and dir/
Hello Derek, * On Mon, Apr 19, 2004 at 11:10:42AM -0400 Derek Robert Price wrote: Even the file module/dir/CVS/Repository points to module/Dir (and not to module/dir which I would have expected). You shouldn't have this problem if you upgrade your server to 1.11.15. I upgraded the server to 1.11.15, but the problem remains (and I get the warning cvs server: WARNING: global `-l' option ignored. on cvs release -d from the cygwin version, 1.11.6). I even tried to update the client (cygwin) from 1.11.6 to 1.11.15, but on cvs co, the directory structure is as before, and the cvs release does not work anymore: : No such file or directoryectory /var/lib/cvs/cbm/vice cvs update: skipping directory You have [0] altered files in this repository. Are you sure you want to release (and delete) directory `vice': y (this is a verbatim copy, the word directoryectory is there in the original output!) I just did a ./configure make install with a fresh gotten tarbal on cygwin (I can send in my check.log after doing make check, if that helps). Is here anyone having a working 1.11.15 on cygwin? BTW: The version of http://www.cvshome.org/dev/codewindow.html makes my machine almost crash. It takes approx. half an hour to kill the cvs.exe after it has been issued with a cvs release against a server. :-( Best regards, Spiro. -- Spiro R. Trikaliotis http://www.trikaliotis.net/ ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Windows with Dir/ and dir/
Hello (again), I'm using cvs 1.11.1 (debian/stable) on the server, and cvs 1.11.1 (Debian/stable) and cvs 1.11.6 (cygwin) on the client side. I use access method ssh to access my remote repository. I found a somehow confusing behaviour which I cannot understand. Possibly, someone can help me around it. I checked the list archive, and although there is much on the Windows case-insensitiveness, I did not find my particular problem mentioned. I have a repository in which a module contains the following files: module/Dir/Attic/1 module/Dir/Attic/2 module/dir/1 module/dir/2 module/Dir itself is empty (except for the subdir Attic/) As you can see, the two directories differ in the case only. Everything from Dir/ has been moved to dir/ many revisions before, so Dir/ has everything contained inside of it in the Attic, and both Dir/ and dir/ contain the same files. If I checkout -P from the Linux machine, everything works fine and I get the files module/dir/1 and module/dir/2. 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! I know and understand that Windows is case insensitive, but this behaviour is very surprising to me. I would have expected that the Windows (cygwin) version of CVS creates exactly the files with the case that it used to check the files out, nothing else). Even the file module/dir/CVS/Repository points to module/Dir (and not to module/dir which I would have expected). I thought -P would not created to obsolete Dir/ but directly the new dir/. This does not seem to be the case. Does CVS generate a Dir/ and not remove it until dir/ wants to be written, in which case dir/ would use the old Dir/ on Windows? I thought at first, but as CVS/Repository points to Dir/, I don't think this is the case. I have not checked what happens if I commit anything in this case since I don't want to havoc my repository. Anyway, if I do a cvs release -d, I get the following message: $ cvs release vice [EMAIL PROTECTED]'s password: [EMAIL PROTECTED]'s password: cvs server: src/arch/os2/Snippets/Makefile.am is no longer in the repository cvs server: src/arch/os2/Snippets/Makefile.in is no longer in the repository [...] You have [0] altered files in this repository. Are you sure you want to release (and delete) directory `vice': yes [EMAIL PROTECTED]'s password: cvs release: no such directory: vice (BTW: What's behind the last cvs release: no such directory?) If you want to know why I have to input my password 3 times, see the mail I just wrote before. ;-) Best regards, Spiro. -- Spiro R. Trikaliotis http://www.trikaliotis.net/ ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs