Py学习  »  Git

Gitolite安装修复了什么?

LIttle Ancient Forest Kami • 5 年前 • 191 次点击  

Gitolite信息不起作用,添加密钥使其成为 no access 没有在auth keys文件中创建相应的条目。

修复此运行 gitolite setup 在Gitolite服务器上

问题:是什么让我陷入困境?

什么? 石英石装置 当第n次调用时(根据它修复挂钩的文档,它不再设置内容,但我想知道用例是什么,我的用例是什么)?

有关gitolite信息的更多详细信息

gitolite info命令的调用方式如下:

> ssh git-user@ser-git
PTY allocation request failed on channel 0
hello git-admin, this is ...@... running gitolite3 3.6.7-2 (Debian) on git 2.17.1

 R W    some-repository
 R W    gitolite-admin
 R W    testing
Connection to ser-git closed.

不良产出是: FATAL: unknown git/gitolite command: 'info'

更多详细信息:没有访问权限的密钥。

gitolite sshkeys-lint 正在显示密钥 (no access) ,现在这些键可以在我设置它们时访问(现在意味着 石英石装置 )

ssh-keygen -lf /home/repo/.ssh/authorized_keys | wc -l (或者没有管道部分,不管怎样)键的数量和它们的名称表明我没有添加最新的键。

类似的问题对我来说不管用: keydir entries not propagating to authorized_keys

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30643
 
191 次点击  
文章 [ 1 ]  |  最新文章 5 年前
LIttle Ancient Forest Kami
Reply   •   1 楼
LIttle Ancient Forest Kami    5 年前

我想,当我挖得更深的时候,医生们就有了答案。这是相当不错的@sitaramc。

  • 如果没有选项,“gitolite setup”是一个常规的“fix-up-everything”命令。 (例如,如果你从外面带来了回购,或者有人搞砸了 使用钩子,或者对影响访问的rc文件进行了更改 规则等)

症状密钥停止传播并出错 FATAL: unknown git/gitolite command: 'info' ssh git-user@ser-git . 修复运行 gitolite setup . 因此,在第一个问题上,标题1:

Gitolite安装修复了什么?

  1. 石英石装置 实施 here
  2. 我的Perl相当弱,但在 line 56 . 它调用args(它解析选项,所以这里没有要解析的内容),然后除非 h_only (仅钩住arg用于安装),但没有使用,因此我们跳过 compile POST_COMPILE 扣动扳机,抓住钩子。

    子设置{ my($admin,$pubkey,$h_only,$message)=args();

    unless ($h_only) {
        setup_glrc();
        setup_gladmin( $admin, $pubkey, $message );
    
        _system("gitolite compile");
        _system("gitolite trigger POST_COMPILE");
    }
    
    hook_repos();    # all of them, just to be sure
    

    }

  3. 包裹 Gitolite::conf::store hook_repos() , line 228 :我们将dir更改为repo base dir(根据配置文件),并对每个phy_repo进行更改。 hook_1(phy_repo) . 什么是物理报告? 物理层 物理的。

  4. 相同的包装、不同的方法和线条: hook_1($repo) in line 354 .

方法 Hookg1(回购)

这完全是关于固定所有的钩子。

  1. 为公共和管理挂钩重新创建目录。
  2. 重写update-hook(common)和post-update-hook(admin)。
  3. 为公共挂钩和管理挂钩设置755权限。
  4. 然后使用 ln_sf 它将通用/管理挂钩的文件夹符号链接起来。
  5. LNSF 在公共模块中,在 line 162