apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bert Huijben" <b...@qqmail.nl>
Subject RE: Researched and adapted pre-vista/2008 windows symlinks
Date Thu, 28 Jul 2011 19:22:40 GMT

> -----Original Message-----
> From: William A. Rowe Jr. [mailto:wrowe@rowe-clan.net]
> 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

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

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.


View raw message