Symbolic links with cvs
Sat Dec 3 04:54:00 GMT 2005
Ugh, top-posting... Reformatted.
On Fri, 2 Dec 2005, Akshay Dua wrote:
> > From: Igor Pechtchanski [mailto:pechtcha@XX.XXX.XXX]
> > Sent: Friday, December 02, 2005 6:43 PM
> > To: Akshay Dua
> > Cc: cygwin@XXXXXX.XXX
> > Subject: Re: Symbolic links with cvs
> > On Fri, 2 Dec 2005, Akshay Dua wrote:
> > > Hello,
> > >
> > > Unfortunately, we have .lnk files in our source control
> > > [snip]
> > > U thirdparty/OPENSSL-0.9.7-BETA3/Makefile.lnk
> > > cvs checkout: cannot stat Makefile.lnk: No such file or directory
> > As soon as you check out a .lnk file, it becomes a symlink, and Cygwin
> > will attempt to read the file that the symlink refers to. If that
> > file doesn't exist (e.g., hasn't been checked out yet), any operations
> > on the symlink will fail (it will be a dangling link). This is not a
> > Cygwin-specific issue (unless the .lnk in the name is an unfortunate
> > coincidence). If you really are trying to commit a symlink to cvs,
> > the CVS manual says that this is not supported:
> > <http://ximbiot.com/cvs/manual/cvs-1.12.13/cvs_15.html>.
> Thanks so much for your reply.
> Is there a way to tell Cygwin to stop converting (or treating) .lnk
> files as symlinks?
Larry already mentioned it: add "nowinsymlinks" to your CYGWIN variable.
> The thing is my colleagues with the same version of Cygwin do not have
> this problem. In their case Cygwin treats the .lnk file as a plain file
> rather than a symbolic link and hence does not follow it. I wonder why
> this behavior exists on my machine.
Hmm... For a .lnk file to be treated as a symlink, it has to also be
marked read-only (and "system", I think)...
> The only thing I can think of, is that I set and then unset
> CYGWIN=ntsec. I don't know if that changed something. Before that I had
> whatever is enabled by default and in fact was not observing the above
> behavior even when I checked out .lnk files.
Heh. Check that the directory you're checking out to still has Windows
(inherited) permissions... Maybe that's your problem.
> The issue really is that since .lnk files are treated as symbolic links,
> they appear as locally modified to CVS because in one case the links are
> followed (locally) and in the other case they aren't (in the
> Any suggestions on how I can get the old behavior back?
You still haven't answered whether they are *supposed* to be symlinks...
If they are, see the CVS manual -- what you're doing is non-portable, and
you can't expect it to work. Subject to change at any time. If they are
regular files that just happened to have the .lnk extension, you may have
a shot with the options above.
Another thing that would be useful for people on this list to be able to
help you is the output of "cygcheck -svr", as requested in the Cygwin
problem reporting guidelines at <http://cygwin.com/problems.html>. Please
make sure to attach the output, rather than including it inline. That
would also answer the question of whether you have something unusual in
|\ _,,,---,,_ email@example.com
ZZZzz /,`.-'`' -. ;-;;,_ firstname.lastname@example.org
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
If there's any real truth it's that the entire multidimensional infinity
of the Universe is almost certainly being run by a bunch of maniacs. /DA
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
More information about the Cygwin