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