146 lines
7.4 KiB
Markdown
146 lines
7.4 KiB
Markdown
[[!toc]]
|
|
|
|
# Introduction
|
|
|
|
Hello.
|
|
|
|
I've installed git-annex and 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. UPDATE: see section Corruption below.
|
|
|
|
# .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.
|
|
|
|
# Corruption?
|
|
|
|
In some section above I speculated that the "jittery" corruption I was seeing in my console was a "display only" problem caused by scrolling around while new characters were being printed to the console. Now, I don't think so.
|
|
|
|
The corruption can be seen in the Log in the webapp. Here's an example from the top of the log:
|
|
|
|
[2014-09-08 13:37:45 Central Daylight Time] main: starting assistant version 5.20140908-g378fbb1
|
|
Launching web browser on file://d:\annex\.git\annex\webapp.html
|
|
[2014-09-08 13:37:45 Central Daylight Time] Cronner: You should enable consistency checking to protect your data.
|
|
(scanning...) [2014-09-08 13:37:45 Central Daylight Time] Watcher: Performing startup scan
|
|
(started...) rreerrcceevvcc::vv ::ff aaffiiaalliieellddee dd(( NN((ooNN ooee rreerrrroorrrroo))rr
|
|
|
|
))
|
|
|
|
I have no clue about this! (Well... "I think it's trying to communicate!")
|
|
|
|
# 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!
|