summaryrefslogtreecommitdiff
path: root/doc/todo/windows_support.mdwn
blob: 599fbbbbf98af6a28cd136e5e9cd8236b8c8355c (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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.
  
  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>

* 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)

## 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?