git-annex/doc/todo/windows_support.mdwn
2013-12-11 11:24:02 -04:00

38 lines
1.7 KiB
Markdown

The git-annex Windows port is not ready for prime time. But it does exist
now! --[[Joey]]
## status
* Does not work with Cygwin's build of git (that git does not consistently
support use of DOS style paths, which git-annex uses on Windows).
Must use Msysgit.
* rsync special remotes are known buggy.
* Bad file locking, it's probably not safe to run more than one git-annex
process at the same time on Windows.
* Ssh connection caching does not work on Windows, so `git annex get`
has to connect twice to the remote system over ssh per file, which
is much slower than on systems supporting connection caching.
* `git annex watch` works, but does not detect when files are still open
for write as they're being added (no lsof). So watch/webapp/assistant
may be unsafe.
* `git annex assistant` has not been tested, is probably quite incomplete
and/or buggy.
* Doesn't daemonize. Maybe use
<http://hackage.haskell.org/package/Win32-services>
or perhaps easier,
<http://hackage.haskell.org/package/Win32-services-wrapper>
* XMPP library not yet built.
This should work to install the deps, using libs from cygwin
cabal install libxml-sax --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\libxml2
cabal install gnuidn --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\
cabal install gnutls --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\
While the 1st line works, the rest fail oddly. Looks like lack of
quoting when cabal runs c2hs and gcc, as "Haskell Platform" is
taken as 2 filenames. Needs investigation why this happens here
and not other times..
Also needs gsasl, which is not in cygwin.
See <http://josefsson.org/gsasl4win/README.html>