summaryrefslogtreecommitdiff
path: root/doc/forum/Windows_installation_notes.mdwn
blob: a38fed805cab2161bea0874d2218df5c9a040a16 (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[[!toc]]

# Introduction

Hello.

I've installed git-annex and/or git-annex assistant on Windows 7 in a corp environment (hello gotchas!).

In this post I'll describe issues I encountered, how I fixed them, recommendations I have for the installer, and some results from a couple `git annex test` runs.

# Background

My regular domain user doesn't have permissions to write to `C:\Program Files (x86)`, so I use a secondary domain user which is in the Administrators group.  I use "Run as different user" to run installers, etc.  (cf. "Run as Administrator")

During msysgit installation I checked "only bash, don't add to path, don't integrate with Explorer" etc, since I like my third-party applications isolated.

# The installer

## Where to install `git-annex.exe`

The nightly build of git-annex/assistant from NEST (20140908) only prompts for the base path of the msysgit location and it installs files in `$BASE/bin` and `$BASE/cmd`...  I'll try manually copying files post-install to mitigate the path issues described in other posts on this forum.

The msysgit installer (1.9.4-preview20140815) presents a certain screen with three radio options:

1. git bash only
2. just git in `cmd.exe`
3. git + unix tools in `cmd.exe`.

I *think* this is the meaning of each:

1. cmd.exe's PATH is not touched.
2. `$GITBASE/cmd` is added to PATH
3. `$GITBASE/bin` is added to PATH

Therefore, I think that if you do something so that `git-annex.exe` is added to both $GITBASE/cmd and $GITBASE/bin (perhaps a symlink or even a .lnk file) then all three user preference options will be covered.

All I did was copy `$BASE/cmd/git-annex.exe` to `$BASE/bin/git-annex.exe` and now both `git annex` and `git-annex` work in my msysgit "git bash" console.  I didn't test `cmd.exe` since I selected option 1 in the msysgit installer.

## Installer locations: user profile or system-wide?

I found a shortcut for the webapp in Start Menu/Startup ... for the wrong user.  Please prompt the user during the installation: "Install startup link system-wide or for current user?"

# git annex test results

## `$HOME` defaulted to some mapped drive, whoops!

The test suite has been running since before I started this post.  Is that normal? :)

I notice that it emits "Detected a crippled filesystem", "Enabling direct mode." and other messages again and again.  If those checks are expensive, maybe the result should be memoized/cached.

Oh goodness, the test is reading and writing to my "home directory": a remote filesystem I never use.  It's slow.  I'll have to configure msysgit to use a different, more local `$HOME`.  This a common problem on this workstation.  I'll let the test finish in case it reveals something useful to you, but this will not be how I use it going forward...

I am unable to attach `testWithMappedDriveHomeDirConsoleOutput.txt` to this post.  1 out of 84 tests failed.  Here is the only case sensitive occurrence of FAIL in the console output, with some lines of context.

    OK
        info:                                             Detected a filesystem without fifo support.
      Disabling ssh connection caching.
      Detected a crippled filesystem.
      Enabling direct mode.
    git-annex: Data.BloomFilter.Util.suggestSizing: capacity too large to represent
    FAIL
          Exception: user error (git-annex ["info","--json"] exited 1)
        version:                                          Detected a filesystem without fifo support.
      Disabling ssh connection caching.
      Detected a crippled filesystem.
      Enabling direct mode.
    git-annex version: 5.20140908-g378fbb1
    build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA CryptoHash

## test results with local NTFS `$HOME`

...The console output is scrolling by much more quickly.

2 out of 84 tests failed.

        prop_past_sane:                                 OK
          +++ OK, passed 1000 tests.
        prop_duration_roundtrips:                       OK
          +++ OK, passed 1000 tests.
        prop_metadata_sane:                             OK
          +++ OK, passed 1000 tests.
        prop_metadata_serialize:                        OK
          +++ OK, passed 1000 tests.
        prop_branchView_legal:                          OK
          +++ OK, passed 1000 tests.
        prop_view_roundtrips:                           OK
          +++I nOiKt,  Tpeasstsse
    d  1 0i0n0i tt:e sts.
        prop_viewedFile_rountrips:                      FAIL
          *** Failed! Falsifiable (after 51 tests and 1 shrink):
          "a:"
          Use --quickcheck-replay '50 592211036 1831676953' to reproduce.
      Unit Tests
        add sha1dup:                                    init test repo
      Detected a filesystem without fifo support.
    
      Disabling ssh connection caching.

and

    OK
        info:                                             Detected a filesystem without fifo support.
      Disabling ssh connection caching.
      Detected a crippled filesystem.
      Enabling direct mode.
    git-annex: Data.BloomFilter.Util.suggestSizing: capacity too large to represent
    FAIL
          Exception: user error (git-annex ["info","--json"] exited 1)
        version:                                          Detected a filesystem without fifo support.
      Disabling ssh connection caching.
      Detected a crippled filesystem.
      Enabling direct mode.
    git-annex version: 5.20140908-g378fbb1
    build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA CryptoHash

...Note the corruption.  I think this happens when I drag the scroll bar while console output is being emitted.  (msysgit's problem?)  I would presume and hope that this is a "display only" issue.

# .vbs failure

I copied the `git-annex.lnk` out of my admin user's start menu onto my desktop and double clicked it.  `wscript.exe` got stuck in a loop where new copies were being spawned over and over again (and old copies dieing at the same rate).

I think I know why.  `git-annex.exe` isn't on the path... but `git-annex.lnk` is in the CWD (Desktop in this case).  Yeah, that is the problem.  The vbs attempts to run "git-annex webapp", and this .lnk points to a valid "executable": `git-annex-webapp.vbs`...  So it just calls itself with an argument over and over again.

Workaround: invoke `git annex webapp` from the normal git bash console.

# Conclusion

I hope this information is helpful.  I've enabled the 'email comments to me' option on this post and I'd be happy to perform further tests upon request.

Cheers!