Vista's mklink for XP?
- From: "Fernando Cacciola" <fernando.cacciola@xxxxxxxxx>
- Date: Wed, 31 Oct 2007 15:46:45 -0300
As some of you may know, NTFS reparse points have all that is needed to
implement file symlinks on Windows XP:
http://wesnerm.blogs.com/net_undocumented/2006/10/symbolic_links__1.html
As you can see in that blog entry, there is utility called "fsutil":
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx?mfr=true
that explotis that.
However, I was wondering if there is any "simpler" utility besides fsutil to do that?
Here's why I ask, in case you have something to suggest:
I work (among other things) in an open source project. We use svn and most
developers are linuxers.
I was assigned the task of porting the build system to CMake. While on that
I couldn't help but to try fixing some longstanding issues.
One of the most annoying ones is this: the svn tree structure is different
from the build tree structure (a bash script is run to create the build-tree
out of the svn-tree).
The only "real" fix here is to unify the svn and build structures, but this
is so far from trivial (for a number of reasons) that is just impractical
for the time being.
However, along the discussion an interesting "hack" came about: create the
build-tree as a "shallow" rearrangement of the files in the svn-tree via
symlinks. This is trivial in posix... it is also equally trivial in Vista
thanks to mklink, but is not in XP and we need to support all three
platforms (being a platform indepenent open source project).
I posposed to use hardlinks, but that makes things complicated as I need to
make sure the "link" in the shallow folder doesn't outlive the "original"
file in the svn folder (otherwise it will silently go out of sync). Some svn
operations (revert, rename, etc) in the working folder could break the hard
link silently leaving an outdated source in the shallow build tree.
I know XP developers could have "fsutil" installed, and use it to generate
the shallow build tree with real symlinks, but I don't see how that can be
integrated into a transparent and platform-independent build enviroment
(which is the goal).
TIA
Fernando Cacciola
SciSoft
http://fcacciola.50webs.com
.
- Prev by Date: DOSPrint and tray behavior
- Next by Date: message
- Previous by thread: DOSPrint and tray behavior
- Next by thread: UK Keyboard Layout HELP!
- Index(es):