From c47b1ecda00cea6d9922e0733c3ab365bc2f004d Mon Sep 17 00:00:00 2001 From: josh Date: Thu, 31 May 2012 20:11:43 +0000 Subject: [PATCH] Discussion of NTFS symlinks, junction points, and reparse points. --- doc/design/assistant/windows.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/design/assistant/windows.mdwn b/doc/design/assistant/windows.mdwn index 850f98194e..da669ad82c 100644 --- a/doc/design/assistant/windows.mdwn +++ b/doc/design/assistant/windows.mdwn @@ -6,6 +6,8 @@ Apparently new versions of Windows have something very like symlinks. (Or really, 3 or so things not entirely unlike symlinks and all different.) Stackoverflow has some details. +NTFS supports symbolic links two different ways: an [[!wikipedia NTFS symbolic link]] and an [[!wikipedia NTFS_junction_point]]. The former seems like the closest analogue to POSIX symlinks. + Make git use them, as it (apparently) does not yet. Currently, on Windows, git checks out symlinks as files containing the symlink @@ -16,3 +18,7 @@ target as their contents. Lots of ifdefs and pain to deal with POSIX calls in the code base. Or I could try to use Cygwin. + +## Deeper system integration + +[NTFS Reparse Points](http://msdn.microsoft.com/en-us/library/aa365503%28v=VS.85%29.aspx) allow a program to define how the OS will interpret a file or directory in arbitrary ways. This requires writing a file system filter.