[PATCH RFC] dirstate: ignore symlinks when fs cannot handle them (issue1888)

Martin Geisler mg at aragost.com
Wed Jul 21 02:50:49 CDT 2010


Adrian Buehlmann <adrian at cadifra.com> writes:

> On 20.07.2010 19:26, Martin Geisler wrote:
>> Laurens Holst <laurens.nospam at grauw.nl> writes:
>> 
>>> Op 20-7-2010 16:29, Martin Geisler schreef:
>>>> # HG changeset patch
>>>> # User Martin Geisler<mg at aragost.com>
>>>> # Date 1279635966 -7200
>>>> # Node ID b58176972fb53e02a396f0f5be82a765723ce98b
>>>> # Parent  fda0e478fb7945b15110738885b8f54bcf2ff576
>>>> dirstate: ignore symlinks when fs cannot handle them (issue1888)
>>>>
>>>> When the filesystem cannot handle the executable bit, we currently
>>>> ignore it completely when looking for modified files. Similarly, it is
>>>> impossible to set or clear the bit when the fs ignores it.
>>>>
>>>> This patch makes Mercurial treat symbolic links the same way.
>>>>
>>>> Symlinks are a little different since they manifest themselves as
>>>> small files containing a filename (the symlink target). On Windows,
>>>> these files show up as regular files, and on Linux and Mac they show
>>>> up as real symlinks.
>>>>    
>>>
>>> Windows Vista and 7 (NTFS file system) should support symbolic links...
>> 
>> Interesting -- I only thought NTFS supported some kind of hard links
>> called junction points, which I know we already use for local clones.
>
> NTFS hardlinks have nothing to do with NTFS junction points.

Thanks for the correction.

> Mercurial on Windows uses NTFS hardlinks on local cloning (in some
> cases, see the docs). And it's working fine (in case anyone is
> unsure).

That is good to know :-)

-- 
Martin Geisler

aragost Trifork
Professional Mercurial support
http://aragost.com/mercurial/


More information about the Mercurial-devel mailing list