summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar josh <josh@web>2012-05-31 20:11:43 +0000
committerGravatar admin <admin@branchable.com>2012-05-31 20:11:43 +0000
commitc47b1ecda00cea6d9922e0733c3ab365bc2f004d (patch)
tree8dfedb0fd05b8192d2d99a0088288f56ef3ef2e0
parent233d4020755429785688ab91e99bd260ffbc1490 (diff)
Discussion of NTFS symlinks, junction points, and reparse points.
-rw-r--r--doc/design/assistant/windows.mdwn6
1 files changed, 6 insertions, 0 deletions
diff --git a/doc/design/assistant/windows.mdwn b/doc/design/assistant/windows.mdwn
index 850f98194..da669ad82 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.