Gitolite - 添加新的公钥 - 无法符号链接(symbolic link)

标签 git ubuntu symlink gitolite

我在 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是怎么回事?

最佳答案

store_common() 包括:

# 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 .

这可能是因为初始设置不正确。

关于Gitolite - 添加新的公钥 - 无法符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740081/

相关文章:

node.js - 无法建立主机 'github.com (192.30.252.128)'的真实性

ubuntu - libvirtError : XML error: expected unicast mac address, 发现多播

python-3.x - 如何在 Ubuntu 上将 socket.ntohs(0x0003) 协议(protocol)与 python SOCK_RAW 一起使用?

build-process - 'make' 可以检查依赖项的 mtime 在运行之间是否“不同”,而不仅仅是它是否比目标新?

Xcode 4 和版本控制——但是哪一个?

git - 检查 gitignore 将跟踪哪些文件

git - 为什么 ssh-agent 需要 root 权限?

ubuntu - 未找到 Kubernetes docker flannel 子网文件

c - 在不扩展符号链接(symbolic link)的情况下符号链接(symbolic link)相对路径

c - Ubuntu递归列出文件,检测符号链接(symbolic link)