> -----Original Message-----
> From: William A. Rowe Jr. [mailto:[email protected]]
> Sent: donderdag 28 juli 2011 18:01
> To: APR Developer List
> Subject: Researched and adapted pre-vista/2008 windows symlinks
>
> http://fearthecowboy.com/2011/04/04/coapp-package-composition/
> http://fearthecowboy.com/2011/04/07/simulating-symlinks-for-windows-
> xp2003/
>
> For Windows 2003 directory-junction-symlinks and faux-file-symlinks;
> https://github.com/coapp/toolkit/blob/master/Win32/ReparsePoint.cs
> https://github.com/coapp/toolkit/blob/master/Win32/LegacySymlink.cs
> and the applicable license;
> https://github.com/coapp/toolkit/blob/master/License.txt
>
> We shouldn't be supporting 2000 and prior anymore... these would not
> work on FAT32 filesystems, but I believe NTFS has been the default
> for some time now (and FAT isn't an acceptable server filesystem).
>
> So just asking, should we adopt this, before I start to work on it?
I don't think we should implement 'fake symlinks' for Windows as suggested here
(and a few times on the Subversion list). That deliberately introduce a
compatibility problem with the real symlinks that are supported on Windows
Vista and later. And because we use an alternative symlink, we would have to
maintain the not-real-thing forever and can't start supporting the real thing.
And normal Windows applications would do everything in a different way.
Junctions are the Windows equivalent of the unix 'mount' and we don't support
mount on unix either.
I don't understand why on a standard Windows a normal user can mount
directories as junctions, while a normal user can't use symlinks but that
shouldn't make us introduce apr-symlinks that are incompatible with
Windows-symlinks.
E.g. how are you supposed to mix usage of a directory with applications that
can handle real symlinks?
Using junctions as symlinks is only nice if you just use one
application/environment.
Apr is a platform abstraction layer, used for real world applications that
integrate with the OS.
Solutions like the faked symlinks belong in libraries like cygwin that try to
create a sub-operating system, incompatible with the host system.
+1 on implementing real Windows symlink support though.
Bert