Reputation: 1930
When I try to 'git push origin master' I get the error 'DENIED by fallthru'
I've spent the last three hours googling. I can't figure out how to fix it.
gitolite.log
2012-10-15.16:43:47 16930 ssh ARGV=david_neudorfer_lbox_com_1350337154 SOC=git-receive-pack 'Treasure-Hunt.git' FROM=10.0.4.185
2012-10-15.16:43:47 16930 repo 'Treasure-Hunt' missing
2012-10-15.16:43:47 16930 access(Treasure-Hunt, david_neudorfer_lbox_com_1350337154, W, 'any'),-> W any Treasure-Hunt david_neudorfer_lbox_com_1350337154 DENIED by fallthru
2012-10-15.16:43:47 16930 trigger,Writable,access_1,ACCESS_1,Treasure-Hunt,david_neudorfer_lbox_com_1350337154,W,any,W any Treasure-Hunt david_neudorfer_lbox_com_1350337154 DENIED by fallthru
2012-10-15.16:43:47 16930 die W any Treasure-Hunt david_neudorfer_lbox_com_1350337154 DENIED by fallthru<<newline>>(or you mis-spelled the reponame)
gitolite.conf
repo test_project
RW+ = david_neudorfer_lbox_com_1350344583
repo projectsmadesimple-web
RW+ = david_neudorfer_lbox_com_1350344583
repo treasure-hunt
RW+ = david_neudorfer_lbox_com_1350344583
I noticed that the numbers after the names are different. Hoping that had something to do with it I tried:
repo test_project
RW+ = david_neudorfer_lbox_com_1350344583
RW+ = david_neudorfer_lbox_com_1350337154
Didn't work. Any suggestions would be great.
Upvotes: 3
Views: 21058
Reputation: 81
Solved:
In my case I moved repo from my account to a group so path to the repo changed on remote but not in my local repo.
So I changed path in local repo (config file):
[remote "origin"]
url = [email protected]:mygroup/repo.git // previously [email protected]:myname/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
Upvotes: 1
Reputation: 1323183
As cjc343 comments, the last error line is telling:
2012-10-15.16:43:47 16930 die W any Treasure-Hunt
DENIED by fallthru
(or you mis-spelled the reponame)
That error message comes from the main() function of src/gitolite-shell, after calling the src/lib/Gitolite/Conf/Load.pm repo_missing() function.
sub repo_missing {
my $repo = shift;
sanity($repo);
return not -d "$rc{GL_REPO_BASE}/$repo.git";
}
It looks for a directory, which is, on Unix system, case sensitive.
Then you need to fix the id issue: you should be authenticated always with the same name.
Upvotes: 3