721cc0cd22
Seems that locking of annexed objects when they're being dropped was broken in direct mode: * When taking the lock before dropping, it created the .git/annex/objects file, as an empty file. It seems that the dropping code deleted that, but that is not right, and for all I know could in some situation cause a corrupted object to leak out. * When the lock was checked, it actually tried to open each direct mode file, and checked if it was locked. Not the same lock used above, and could also fail if some consumer of the file locked it. Fixed this, and added windows support by switching direct mode to lock a .lck file.
33 lines
1.5 KiB
Markdown
33 lines
1.5 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.
|
|
* 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 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>
|