2

我在 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/

我还能尝试什么,因为我的想法不多了。

4

1 回答 1

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.

于 2010-04-14T19:28:19.987 回答