git-annex/ design/ assistant/ windows

See 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.

The windows port will not use symlinks. It will only support direct mode.

## 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 allow a program to define how the OS will interpret a file or directory in arbitrary ways. This requires writing a file system filter.

## Developement environment

Someone wrote in to say:

> For Windows Development you can easily qualify for Bizspark - http://www.microsoft.com/bizspark/

> This will get you 100% free Windows OS licenses and Dev tools, plus a free Azure account for cloud testing. (You can also now deploy Linux VMs to Azure as well) No money required at all.

comment 1

NTFS symbolic links should do exactly what you would expect them to do. They can point to files or directories. Junction points are legacy NTFS functionality and reparse points are more like the POSIX mount functionality.

NTFS symbolic links should work for you, junction point should be avoided, and reparse points would be like using a nuke to kill a fly. The only hang up you might have is that I think all three features require elevated privileges to manage.

Comment by https://www.google.com/accounts/o8/id?id=AItOawlCGROoy62svBUy6P24x1KoGoDWrBq2ErA — Tue Jul 22 18:11:47 2025
Comments on this page are closed.