Symlink kind changed to file on windows
John Arbash Meinel
john at arbash-meinel.com
Fri Nov 20 15:38:42 GMT 2009
-----BEGIN PGP SIGNED MESSAGE-----
Paul Harris wrote:
> I have a project that includes a Ruby on Rails website. I checked the
> website plus the rails directories in on Linux, and all is well.
> I checked it out in Windows Vista, and I have win32symlink installed, so
> in cygwin, the symlinks actually work. I don't use them in windows (I
> do other things in the project unrelated to rails), but they work.
Cygwin works because it adds symlinks as a native type as an abstraction
underneath us (not because of win32symlink).
win32symlink is currently broken because it hasn't been updated as we
implemented different code paths for reading/writing/etc files on disk.
I don't think Alexander is planning on maintaining win32symlink.
- From your description, it looks like it still handles the 'write' side,
but it no longer handles the 'read' side. (So you can checkout something
that has symlinks, but you can't status/commit them correctly.)
I don't really know what it would take to fix this. I believe
win32symlinks used to monkey-patch (alter-at-runtime) certain functions
to make it work, and we've now moved some of that functionality down
into a C extension.
Arguably we could pull that sort of functionality into core, but
defining the correct behavior is difficult. For example, you could turn
the symlinks into '.lnk' files, so that it interacts better with other
Windows programs. However, what do you do if: "foo.txt" and
"foo.txt.lnk" both exist?
I'd be willing to review and merge a 90% solution, though. If someone
wants to take the time to think about it. (And probably discuss it on
the list for a little while.)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
-----END PGP SIGNATURE-----
More information about the bazaar