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
	
	 Joey Hess
				Joey Hess