On 02/11/15 23:23, Warren Young wrote:
>> Windows will ultimately get decent symlink support.
> 
> I doubt it.  Microsoft has tried to take a bite of that apple twice, and 
> screwed it up both times.
> 
> First there was the Windows 95 *.lnk file feature, which is basically only a 
> symlink to Windows Explorer.
> 
> Then in Vista they finally added true symlinks, but only Admin users can 
> create them, and then only from within an Admin shell!  cmd.exe doesn’t know 
> how to temporarily auto-elevate itself via UAC, as with most other privileged 
> operations.  (There’s no reason that Windows builds of Fossil can’t do the 
> UAC dance, though.)

   There may be Reasons that only admins can do symlinks.  If you read
about reparse-points in the DDK you start to get the sense that it was
hooked on to another set of functions as a "Oh, look, we kind of get
this feature for free, but with some caveats".

   The Community could work around the problem by creating a service
which is responsible for creating the appropriate reparse-point, and
allow regular users to communicate with the service.  There's another
reason I think symlinks are limited to administrators for now, but it's
out of scope here.

   Anywho, back to more fossil-related matters..  I've tried to work in
support for handling (reading/parsing) Windows symlinks in a library,
and I encountered an interesting problem when attempting to do what
would be considered readlink() in unix -- the call sometimes hangs(!).
For seemingly no good reason.  A quick search yielded that I'm not the
only one seeing the problem; and last time I checked there had been no
activity from Microsoft regarding a fix.

   The work-around is to use the DDK and manually parse the reparse
point data manually (which is how I ended up browsing through the
reparse point parts of the DDK..).

   Supporting symlinks on Windows would currently be a little mess.  Not
only is it the admin-issue, but unless they fix that intermittent hang
bug, we'll require parts of the DDK and do some ugly low-level parsing
in order to parse the links.

-- 
Kind Regards,
Jan
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to