Added a comment
This commit is contained in:
parent
38e7feca5b
commit
72ee3d7856
1 changed files with 53 additions and 0 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.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue