[[!comment format=mdwn username="bremner" ip="156.34.79.193" subject="afaict git annex normalizes urls on the client side." date="2011-12-31T22:29:38Z" content=""" After some debugging printing, here is my current understanding. - urls of the form git@host:~repo or ssh://git@host - git sends commands like \"git-receive-pack '~/repo' - gitolite converts these to $REPO_BASE/~/repo which fails. ~/repo would also fail fwiw. - git-annex sends seems /~/repo, which works - urls of the form git@host:/repo or ssh://git@host/repo - git sends \"git-receive-pack '/db/cs3383'\" - gitolite converts this to $REPO_BASE/repo which works - git annex sends \"git-annex-shell 'inannex' '/repo' ...\" which works, but only with the patch above. - urls of the form git@host:repo - git sends \"git-receive-pack 'repo' - gitolite converts this to $REPO_BASE/repo, which works - git-annex sends \"git-annex-shell 'inannex' '/~/db/cs3383'...\", which also works for git-annex-shell. So the weird case is the last one where git and git-annex are sending different things over the wire. I don't know if you have other motivations for doing the url normalization on the client side, but it isn't needed for gitolite, and in some sense complicates things a little. On the other hand, now that I see what is going on, it isn't a big deal to just strip the leading /~ off in the adc. It does lead to the odd situation of some URLs working for git-annex but not git. """]]