Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
489f2de363
2 changed files with 101 additions and 6 deletions
|
@ -0,0 +1,53 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://joeyh.name/"
|
||||||
|
ip="209.250.56.47"
|
||||||
|
subject="comment 5"
|
||||||
|
date="2013-11-06T16:27:49Z"
|
||||||
|
content="""
|
||||||
|
Running the prebuilt tarball build of git-annex, the bug does not occur.
|
||||||
|
|
||||||
|
However, if I remove the git shipped with the prebuilt tarball, so it uses the system git, I do see the bug. So, it's apparently git version dependent.
|
||||||
|
|
||||||
|
Also, I was able to reproduce it in a amd64 chroot. My other chroot was i386. Somehow architecture specific bug?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Instrumenting all calls to git to be logged with the full environment and command, I found this:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
GIT_INDEX_FILE='/home/foo/annex/.git/annex/index'
|
||||||
|
--git-dir=/home/foo/annex/.git --work-tree=/home/foo/annex commit --quiet --allow-empty -m created repository
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
This certianly looks like the index file setting for the git-annex branch is somehow leaking out past the branch commit operations. It continued setting that while setting up `gc.auto`; the next call to git after that stopped setting the index file.
|
||||||
|
|
||||||
|
The only way I can see offhand this could possibly happen is due to an exception. It may be that on ubuntu an exception is thrown by code that runs a git command with the index file set, for whatever reason, and this causes the code that normally resets it back to not run.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Ok, found it!
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
\"withIndex entered\"
|
||||||
|
|
||||||
|
*** Please tell me who you are.
|
||||||
|
|
||||||
|
Run
|
||||||
|
|
||||||
|
git config --global user.email \"you@example.com\"
|
||||||
|
git config --global user.name \"Your Name\"
|
||||||
|
|
||||||
|
to set your account's default identity.
|
||||||
|
Omit --global to set the identity only in this repository.
|
||||||
|
|
||||||
|
fatal: unable to auto-detect email address (got 'foo@darkstar.(none)')
|
||||||
|
\"withIndex entered\"
|
||||||
|
\"withIndex cleaned up\"
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Note lack of clean up after the first withIndex call. Thus leaving the environment passed to git polluted for further calls.
|
||||||
|
|
||||||
|
This also explains why it's only happening on some systems, or with some versions of git. git's got all kinds of complexity around its username and email handling code.
|
||||||
|
|
||||||
|
I have fixed this in git.
|
||||||
|
"""]]
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
This is a followup on [[bugs/internal_server_error:_unknown_UUID_on_webapp]]. In that issue, webapps previous to 20130929 would crash with `internal server error: unknown UUID`. This was fixed at that date, but some problems remain, namely that the remote that is recognized on the commandline doesn't show up in the webapp.
|
This is a followup on [[bugs/internal_server_error:_unknown_UUID_on_webapp]]. In that issue, webapps previous to 20130929 would crash with `internal server error: unknown UUID`. This was fixed at that date, but some problems remain, namely that the remote that is recognized on the commandline doesn't show up in the webapp.
|
||||||
|
|
||||||
`markov` is able to push to `marcos`, but not the reverse because `markov` is hidden behind a NAT. `git annex sync` seems to do the right thing accordingly on both ends.
|
`markov` is able to push to `marcos`, but not the reverse because `markov` is hidden behind a NAT. `git annex sync` seems to do the right thing accordingly on both ends (which is: `marcos` doesn't try to push to `markov` but `markov` pushes to `marcos`).
|
||||||
|
|
||||||
### What steps will reproduce the problem?
|
### What steps will reproduce the problem?
|
||||||
|
|
||||||
See [[bugs/internal_server_error:_unknown_UUID_on_webapp]]. I didn't do any further changes other than upgrade git-annex on both ends.
|
See [[bugs/internal_server_error:_unknown_UUID_on_webapp]]. I didn't do any further changes other than upgrade `git-annex` on both ends.
|
||||||
|
|
||||||
### What version of git-annex are you using? On what operating system?
|
### What version of git-annex are you using? On what operating system?
|
||||||
|
|
||||||
|
@ -16,9 +16,11 @@ See [[bugs/internal_server_error:_unknown_UUID_on_webapp]]. I didn't do any furt
|
||||||
|
|
||||||
### Please provide any additional information below.
|
### Please provide any additional information below.
|
||||||
|
|
||||||
|
#### On `marcos`
|
||||||
|
|
||||||
|
Here's the output of `git annex status` on `marcos`:
|
||||||
|
|
||||||
[[!format sh """
|
[[!format sh """
|
||||||
# If you can, paste a complete transcript of the problem occurring here.
|
|
||||||
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
|
|
||||||
anarcat@marcos:books$ git annex status
|
anarcat@marcos:books$ git annex status
|
||||||
repository mode: direct
|
repository mode: direct
|
||||||
trusted repositories: 0
|
trusted repositories: 0
|
||||||
|
@ -39,8 +41,48 @@ backend usage:
|
||||||
# End of transcript or log.
|
# End of transcript or log.
|
||||||
"""]]
|
"""]]
|
||||||
|
|
||||||
Here's a screenshot of the webapp:
|
Here's a screenshot of the idle webapp on marcos:
|
||||||
|
|
||||||
<img src="http://i.imgur.com/3HFgj3w.png" />
|
<img src="http://i.imgur.com/3HFgj3w.png" />
|
||||||
|
|
||||||
You can clearly see that the webapp doesn't see the `markov` remote. When `markov` transfers stuff, `marcos` sees the transfers happening, but marks it as going to the `unknown` remote. Clicking on that link is what was previously triggering [[bugs/internal_server_error:_unknown_UUID_on_webapp]] but now yields a "Unknown remote" error (which I can't reproduce anymore because the repos are synced - I can reproduce by retransfering some files if necessary). --[[anarcat]]
|
You can clearly see that the webapp doesn't see the `markov` remote.
|
||||||
|
|
||||||
|
When `markov` transfers stuff, `marcos` sees the transfers happening, but marks it as going to the `unknown` remote:
|
||||||
|
|
||||||
|
<img src="http://i.imgur.com/YOu9GbA.png" />
|
||||||
|
|
||||||
|
Clicking on that link is what was previously triggering [[bugs/internal_server_error:_unknown_UUID_on_webapp]] but now yields a "Unknown remote" error.
|
||||||
|
|
||||||
|
<img src="http://i.imgur.com/y7JxULi.png" />
|
||||||
|
|
||||||
|
#### On `markov`:
|
||||||
|
|
||||||
|
Here is a screenshot from `markov` that shows *it* knows about both repositories and seem to behave properly:
|
||||||
|
|
||||||
|
<img src="http://i.imgur.com/fTMslVT.png" />
|
||||||
|
|
||||||
|
And here's the output of `git annex status` on markov:
|
||||||
|
|
||||||
|
[[!format sh """
|
||||||
|
anarcat@desktop008:books$ git annex status
|
||||||
|
repository mode: indirect
|
||||||
|
trusted repositories: 0
|
||||||
|
semitrusted repositories: 3
|
||||||
|
00000000-0000-0000-0000-000000000001 -- web
|
||||||
|
a75cbbf7-e055-423e-b375-443e0552c9e2 -- origin (anarcat@marcos:/srv/books)
|
||||||
|
aa500f29-42d9-4777-ae02-4a2c3d47db44 -- here (anarcat@markov:~/books)
|
||||||
|
untrusted repositories: 0
|
||||||
|
transfers in progress:
|
||||||
|
downloading Patrick K. O'Brien/Philip's Atlas of World History, Concise Edition (115)/Philip's Atlas of World History, Concise Edition - Patrick K. O'Brien.pdf from origin
|
||||||
|
available local disk space: 93.25 gigabytes (+1 megabyte reserved)
|
||||||
|
temporary directory size: 50.07 megabytes (clean up with git-annex unused)
|
||||||
|
local annex keys: 708
|
||||||
|
local annex size: 3.81 gigabytes
|
||||||
|
known annex keys: 721
|
||||||
|
known annex size: 3.92 gigabytes
|
||||||
|
bloom filter size: 16 mebibytes (0.1% full)
|
||||||
|
backend usage:
|
||||||
|
SHA256E: 1429
|
||||||
|
"""]]
|
||||||
|
|
||||||
|
Finally, note that you sometimes see `desktop008` above: it turns out I am running `git annex` from my workstation, which NFS-mounts the `/home` directory of `markov` into `/srv/musique`. --[[anarcat]]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue