summaryrefslogtreecommitdiff
path: root/doc/design/assistant/windows.mdwn
blob: da669ad82c4eabf9dd63482002bce2d86654b24c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
See [[todo/windows_support]]..

## symlinks

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
target as their contents.

## POSIX

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.