Symlink kind changed to file on windows

Alexander Belchenko bialix at ukr.net
Fri Nov 20 15:50:46 GMT 2009


John Arbash Meinel пишет:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Paul Harris wrote:
>> Hi,
>>
>> 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.

This is all correct. I didn't maintained win32symlinks several years, 
but last time it stopped to work for me exactly as described: status 
converts symlinks to plain files.

And keeping monkey-patching up-to-date is hard task.

I'd recommend to Paul to using native Cygwin instead of my broken plugin.

Sorry.

> 
> 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?
> 
> Etc.
> 
> 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.)
> 
> John
> =:->
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
> 
> iEYEARECAAYFAksGuAIACgkQJdeBCYSNAAOnRQCdGRB5SryczY9eiju1rSa6/jMO
> X2IAoNWLGjCRGiXeM17YfxVa4+z2vdR2
> =qi+f
> -----END PGP SIGNATURE-----
> 
> 




More information about the bazaar mailing list