我在Ubuntu上安装了最新版本的gitolite:
我正在运行
gitolite setup -pk user2.pub
我得到的错误是:
FATAL: could not symlink /home/git/.gitolite/hooks/common/update to MyRepository.
git/hooks
at /home/git/gitolite/src/lib/Gitolite/Conf/Store.pm line 330
有关正在发生的事情的任何想法?
编辑: 好的 - 所以目录
MyRepository.git/hooks
不存在。只有
MyRepository.git/.git/hooks/
gitolite发生了什么事?
答案 0 :(得分:1)
# override/propagate gitolite defined hooks for all repos
ln_sf( "$rc{GL_ADMIN_BASE}/hooks/common", "*", "$repo.git/hooks" );
反过来,调用ln_sf()
sub ln_sf {
trace( 3, @_ );
my ( $srcdir, $glob, $dstdir ) = @_;
for my $hook ( glob("$srcdir/$glob") ) {
$hook =~ s/$srcdir\///;
unlink "$dstdir/$hook";
symlink "$srcdir/$hook", "$dstdir/$hook" or croak "could not symlink $srcdir/$hook to $dstdir\n";
}
}
dstdir
这里似乎不完整。它应该是/home/git/repositories/MyRepository.git/hooks
。
这可能是因为初始设置不正确。
答案 1 :(得分:0)
我在尝试将旧存储库导入gitolite时看到了上述错误。
gitolite repositories目录包含“bare”存储库的“.git”文件夹。这意味着如果想要将存储库导入gitolite,他应该执行以下操作:
- 确保oldrepo是一个裸git存储库
- 以gtolite用户身份运行以下内容
cd $HOME
cp -R oldrepo/.git repositories/oldrepo.git
gitolite setup
我的错误是将旧存储库作为包含“.git”的目录。我发现这是错的。
例如我的旧存储库:
os-HP /home/gitrepo/repositories $ ll scripts/.git/
total 52
drwxrwsrwx 8 gitrepo gitrepo 4096 Jan 25 10:59 .
drwxrwsrwx 3 gitrepo gitrepo 4096 Jul 26 15:48 ..
drwxrwsrwx 2 gitrepo gitrepo 4096 Jan 25 10:49 branches
-rwxrwxrwx 1 gitrepo gitrepo 8 Jan 25 10:53 COMMIT_EDITMSG
-rw-rw-r-- 1 gitrepo gitrepo 91 Jan 25 10:59 config
-rwxrwxrwx 1 gitrepo gitrepo 73 Jan 25 10:49 description
-rwxrwxrwx 1 gitrepo gitrepo 23 Jan 25 10:49 HEAD
drwxrwsrwx 2 gitrepo gitrepo 4096 Jan 25 10:49 hooks
-rwxrwxrwx 1 gitrepo gitrepo 264 Jan 25 10:53 index
drwxrwsrwx 2 gitrepo gitrepo 4096 Jan 25 10:49 info
drwxrwsrwx 3 gitrepo gitrepo 4096 Jan 25 10:52 logs
drwxrwsrwx 133 gitrepo gitrepo 4096 Jun 28 08:50 objects
drwxrwsrwx 4 gitrepo gitrepo 4096 Jan 25 10:49 refs
与gitolite一起提供的测试存储库相比:
ey ~/repositories $ ll testing.git/
total 40
drwx------ 7 gitrepo gitrepo 4096 Jul 26 02:37 .
drwx------ 5 gitrepo gitrepo 4096 Jul 26 08:46 ..
drwx------ 2 gitrepo gitrepo 4096 Jul 26 02:37 branches
-rw------- 1 gitrepo gitrepo 66 Jul 26 02:37 config
-rw------- 1 gitrepo gitrepo 0 Jul 26 05:16 git-daemon-export-ok
-rw------- 1 gitrepo gitrepo 120 Jul 26 05:16 gl-conf
-rw------- 1 gitrepo gitrepo 23 Jul 26 02:37 HEAD
drwx------ 2 gitrepo gitrepo 4096 Jul 26 05:13 hooks
drwx------ 2 gitrepo gitrepo 4096 Jul 26 02:37 info
drwx------ 10 gitrepo gitrepo 4096 Jul 26 03:05 objects
drwx------ 4 gitrepo gitrepo 4096 Jul 26 02:37 refs