我正试图在我的LEDE-Project路由器上运行Gitolite.我已按照此处提供的说明将令人满意的依赖项安装到我的路由器上.我的路由器报告Git版本2.11.0,我正在运行它的计算机.可以在这里找到 GIT on LEDE-Project和OpenWRT的包,因为他们正在共享这些回购.
当我以Gitolite方式创建一个新的存储库时,我收到类似于此的错误消息:
2017-03-06.03:11:23 28046 die/symlink /root/.gitolite/hooks/common/update to gitolite-admin.git/hooks <> at/root/gitolite/src/lib/Gitolite/Conf/Store .pm第368行.<>
经过一夜好眠,我最终将这个原因归结为这个特定的邮件列表帖子,这表明它git init --bare没有生成正确的目录.
在空目录中尝试"git init --bare"并告诉我你是否看到.git/hooks目录.
假设你没有,你将不得不以某种方式解决这个问题.Gitolite期望'git init --bare'来创建一个hooks目录.
似乎是一个合理的假设.我的机器做得很好.
git init --bare foo
Initialized empty Git repository in /home/makoto/workspace/foo/foo/
cd ~/foo
ls -la
drwxrwxr-x 7 makoto makoto 4096 Mar 6 13:15 .
drwxrwxr-x 3 makoto makoto 4096 Mar 6 13:15 ..
drwxrwxr-x 2 makoto makoto 4096 Mar 6 13:15 branches
-rw-rw-r-- 1 makoto makoto 66 Mar 6 13:15 config
-rw-rw-r-- 1 makoto makoto 73 Mar 6 13:15 description
-rw-rw-r-- 1 makoto makoto 23 Mar 6 13:15 HEAD
drwxrwxr-x 2 makoto makoto 4096 Mar 6 13:15 hooks
drwxrwxr-x 2 makoto makoto 4096 Mar 6 13:15 info
drwxrwxr-x 4 makoto makoto 4096 Mar 6 13:15 objects
drwxrwxr-x 4 makoto makoto 4096 Mar 6 13:15 refs
Run Code Online (Sandbox Code Playgroud)
在我的路由器上......不是那么多.
git init --bare foo
Initialized empty Git repository in /root/foo/
cd foo/
ls -la
drwxr-xr-x 4 root root 4096 Mar 6 13:21 .
drwxr-xr-x 1 root root 4096 Mar 6 13:21 ..
-rw-r--r-- 1 root root 23 Mar 6 13:21 HEAD
-rw-r--r-- 1 root root 66 Mar 6 13:21 config
drwxr-xr-x 4 root root 4096 Mar 6 13:21 objects
drwxr-xr-x 4 root root 4096 Mar 6 13:21 refs
Run Code Online (Sandbox Code Playgroud)
就Gitolite而言,问题在于具体的hooks/文件夹不存在.但我无法弄清楚为什么会这样.
有没有办法让我诊断git init --bare运行时创建的文件夹?我觉得如果我能弄清楚命令运行时实际执行的是什么,我可以解决其余问题.