Gitolite uses a slightly funky url scheme that can wreck havoc with other tools. In particular I wanted to use Google Repo (worst name ever by the way, htf do you search for git and repo to find this?)
Anyway, here's how…
The solution is to tweak the almighty fetch
url. Note the ssh://
and :22
, those are key.
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="burgundywall" fetch="ssh://git@www:22" />
<default revision="refs/heads/master"
remote="burgundywall"
sync-j="4" />
<project name="foo" path="foo" remote="burgundywall" />
<project name="bar" path="bar" remote="burgundywall" />
</manifest>
So go ahead and commit and push that. In our example case lets call it overlord
.
Then to actually clone and sync overlord,
mkdir overlord
cd overlord
repo init -u ssh://git@www/overlord
repo sync
keywords to help with finding this page: “google repo”, git-repo, gitolite
The errors I was getting were:
$ repo sync
Fetching project foo
Fetching project bar
FATAL: R any git@www/foo kneufeld DENIED by fallthru
...
because the fetch url was duplicated in the project config file.