更新后的Gitosis不会运行

时间:2010-04-14 12:57:43

标签: git gitosis

我在windows vista pc上运行cygwin。我成功安装了sshd,配置并构建了gitosis。 我可以远程git克隆gitosis-admin.git存储库,对配置进行了更改,提交并成功推送回cygwin机器。

但是,更新后没有执行,并且尚未创建新的存储库(在配置中指定)。

我跑了:

chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

和ls -l显示以下内容:

-rwxr-xr-x 1 git None   69 2010-04-13 22:55 post-update

然而,当我跑:

./post-update

我收到以下错误:

ERROR:gitosis.run_hook:Must have GIT_DIR set in enviroment

我已经在我的git .bashrc中包含了这一行:

GIT_DIR=$HOME/repositories/gitosis-admin.git/

如果我在提示符下输入Set,我可以看到:

GIT_DIR=/home/git/repositories/gitosis-admin.git/

我还能尝试什么,因为我没有想法。

1 个答案:

答案 0 :(得分:1)

首先,不要设置GIT_DIR - 它不应该是必需的。

其次,我相信你的问题是你已经为你的Gitosis配置添加了一个新的repo的写权限,但是当你推送你的配置时它没有被创建。这是因为在你的Gitosis配置中添加一个新的repo不会创建它 - 它只是给用户权限来创建它。

例如,假设你添加这个你的Gitosis配置:

[group new_repo]
    members = me
    writable = new_repo

当您推出更改时,new_repo无法创建 - 您只需拥有创建它的权限。为了在服务器上实际创建它,在本地计算机上创建repo,然后将Gitosis服务器添加为远程服务器:

$ git remote add gitosis git@git.example.com:new_repo.git

然后将其推出:

$ git push gitosis master

执行git push时会创建新的仓库。