git push origin master - >由fallthru拒绝

时间:2012-10-16 00:22:40

标签: git gitolite

当我尝试'git push origin master'时,我收到错误'由fallthru DENIED'

我花了最后三个小时用谷歌搜索。我无法弄清楚如何解决它。

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

我注意到名字后的数字不同。希望这与它有关,我试过:

repo    test_project
  RW+                            = david_neudorfer_lbox_com_1350344583
  RW+                            = david_neudorfer_lbox_com_1350337154

没用。任何建议都会很棒。

2 个答案:

答案 0 :(得分:3)

作为cjc343 comments,最后一个错误行告诉:

2012-10-15.16:43:47 16930   die W any Treasure-Hunt 
                            DENIED by fallthru
                            (or you mis-spelled the reponame)

在调用main() function of src/gitolite-shell后,该错误消息来自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";
}

它查找一个目录,在Unix系统上,区分大小写。

然后您需要修复ID问题:您应该始终使用相同的名称进行身份验证。

答案 1 :(得分:1)

解决


在我的情况下,我将repo从我的帐户移到了一个组,因此回购路径的路径在远程更改,但不在我的本地仓库中。

所以我在本地repo(配置文件)中更改了路径:

[remote "origin"]
url = git@git.me:mygroup/repo.git              // previously git@git.me:myname/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*