93 lines
3.7 KiB
Markdown
93 lines
3.7 KiB
Markdown
The git-annex Windows port is not ready for prime time. But it does exist
|
|
now! --[[Joey]]
|
|
|
|
## status
|
|
|
|
* 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. (See below.)
|
|
|
|
* View debug log is empty in windows -- all logs go to console.
|
|
This messes up a few parts of UI that direct user to the debug log.
|
|
Should try to get rid of the console, but only once ssh passwords
|
|
(and possibly gpg) are not prompted there anymore.
|
|
|
|
* Local pairing seems to fail, after acking on Linux box, it stalls.
|
|
(Also, of course, the Windows box is unlikely to have a ssh server,
|
|
so only pairing with a !Windows box will work.)
|
|
|
|
* gcrypt is not ported to windows (and as a shell script, may need
|
|
to be rewritten)
|
|
|
|
* Incremental fsck sets the sticky bit to record when a file is fscked,
|
|
and this is not done on windows, so fsck doesn't behave incrementally
|
|
there.
|
|
|
|
* Deleting a git repository from inside the webapp fails "RemoveDirectory
|
|
permision denied ... file is being used by another process"
|
|
|
|
## minor problems
|
|
|
|
* rsync special remotes with a rsyncurl of a local directory are known
|
|
buggy. (git-annex tells rsync C:foo and it thinks it means a remote host
|
|
named C...)
|
|
* webapp lets user choose to encrypt repo, and generate gpg key,
|
|
before checking that gcrypt is not installed
|
|
* 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.
|
|
* glacier-cli is not easily available (probably)
|
|
* user feedback: "Git on windows installer provides openssh 4.6. git-annex installer
|
|
provides openssh 6.2 . This seems to create problems regarding how
|
|
`known_hosts` file path is setup. Setting `GIT_SSH=` to the git-annex
|
|
openssh version fixes the problem."
|
|
However, I don't know how to determine what that location is after
|
|
it's been installed. Maybe look for ssh.exe in same directory as
|
|
git-annex.exe? --[[Joey]]
|
|
|
|
## stuff needing testing
|
|
|
|
* test that adding a repo on a removable drive works; that git is synced to
|
|
it and files can be transferred to it and back
|
|
* Does stopping in progress transfers work in the webapp?
|
|
|
|
## trying to build XMPP
|
|
|
|
Lots of library deps:
|
|
|
|
1. gsasl-$LATEST.zip from <http://josefsson.org/gnutls4win/> (includes
|
|
gnuidn and gnutls)
|
|
2. pkg-config from
|
|
<http://sourceforge.net/projects/pkgconfiglite/files/latest/download?source=files>
|
|
3. libxml2 from mingw:
|
|
<http://sourceforge.net/projects/mingw/files/MSYS/Extension/libxml2/libxml2-2.7.6-1/>
|
|
both the -dll and the -dev
|
|
3. Extract all the above into the Haskell platform's mingw directory. Note
|
|
that pkg-config needs to be moved out of a named subdirectory.
|
|
4. Run in DOS prompt (not cygwin!): cabal install network-protocol-xmpp
|
|
|
|
Current FAIL:
|
|
|
|
<pre>
|
|
Loading package gnutls-0.1.5 ... ghc.exe: internal error: Misaligned section: 18206e5b
|
|
(GHC version 7.6.3 for i386_unknown_mingw32)
|
|
Please report this as a GHC bug:
|
|
http://www.haskell.org/ghc/reportabug
|
|
</pre>
|
|
|
|
<https://ghc.haskell.org/trac/ghc/ticket/8830>
|
|
|
|
Note: This only happens in the TH link stage. So building w/o the webapp
|
|
works with XMPP.
|
|
|
|
Options:
|
|
|
|
1. Use EvilSplicer, building first without XMPP library, but with its UI,
|
|
and a second time without TH, but with the XMPP library. Partially done
|
|
on the `winsplicehack` branch, but requires building patched versions
|
|
of lots of yesod dependency chain to export modules referenced by TH
|
|
splices, like had to be done on Android. Horrible pain. Ugly as hell.
|
|
2. Make a helper program with the XMPP support in it, that does not use TH.
|