René Scharfe wrote:
Windows 2000 and up has support for symbolic links; it's just strangely
restricted, [...] here's a good starting point for
more information: http://en.wikipedia.org/wiki/NTFS_junction_point
Arguably, your unzip program should create junction points for symlinks
in zip files. I wouldn't be surprised if none of the existing ones
support that, though;
Would it be practical for you to distribute a junction point creation
tool like Mark Russinovich's Junction (except that Junction's EULA
forbids redistribution under most circumstances; see here:
http://www.microsoft.com/technet/sysinternals/FileAndDisk/Junction.mspx)
and a script that creates these symlinks for your audience?
Thank you very much for the detailed explanation. Unfortunately, I do
not think that Junction can be an option. My colleagues using Windows
tend to be a bit "conservative" about the tools they use. If they
navigate filesystem contents with the graphical tool, and they
look-at/expand the content of a zip file from explorer they expect that
it should be immediately right, otherwise there must be something wrong
in the way /I/ create zip files. They would not appreciate having to
unzip the file and then run an additional program on it to fix the
unzipped stuff.
It's harder for git-archive to support following symlinks than for e.g.
GNU tar. The reason is that the former operates on git objects, not
files, directories or symlinks. In order to follow a symlink it would
need to evaluate the symlink, follow it and then add actual files and
directories to the archive.
For your purposes, perhaps a slightly different implementation might be
sufficient: namely to follow only relative symlinks that point to
tracked objects. That way you still get a repeatable result and (most
importantly) git-archive doesn't need to look at files and directories,
it can stay safely in git land. Would such a way of operation be useful
to you?
Absolutely positive. This would be already a great improvement,
fulfilling 99.9% of needs.
Sergio
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html