symlinks on windows

Alexander Belchenko bialix at ukr.net
Wed May 24 09:23:59 BST 2006


Nate W пишет:
> Hello Alexander, I saw your discussion on the bzr list about using
> cygwin's pseudo-symlink method with bzr, and I wonder if you have
> considered using NTFS reparse points instead?  They are somewhat
> similar to unix symlinks.  Here is some more information about them:
> 
> http://www.pcguide.com/ref/hdd/file/ntfs/filesReparse-c.html
> http://www.codeproject.com/w2k/junctionpoints.asp
> 
> I am completely unfamiliar with python so I don't know if it will be
> possible to make the Win32 calls necessary to use this, but if it can
> be done, I think it might be a better solution than cygwin-style
> linking since it is supported by the OS and thus can be used by all
> Win32 applications, not just those than use cygwin's approach.
> 
> I hope you find this useful,
> 
> Nate Waddoups
> Redmond WA USA
> http://www.natew.com/   <== for nerds
> http://www.featherforum.com/   <== for birds

Thanks for links. Probably it can be useful, but it restricted to NTFS 
filesystem. But very often old windows machines used FAT32. So in this 
case this approach cannot be used. But as alternative to cygwin-like it 
could be.

Googling a bit I found discussion in the python mailing list at November 
2005 about NTFS reparse points. Here the root of the thread:

http://mail.python.org/pipermail/python-list/2005-November/307765.html

So I see it possible enough to implement. But unfortunately today I have 
not machine with NTFS and therefore I cannot implement and debug it.

If someone want to implement support of reparse points as C/C++ library 
(dll per example) then I could write wrapper interface to use this 
library from Python. But anyway support of reparse points should be 
independent python project, I don't see reason to include them inside 
bzr core.

As another solution can be used linkd.exe utility from Resource Kit (it 
does not ship in standard windows installation and should be installed 
separately):

http://support.microsoft.com/?kbid=205524

--
Alexander

PS: And even this tricks is possible:
http://blogs.msdn.com/oldnewthing/archive/2004/12/27/332704.aspx




More information about the bazaar mailing list