gitolite安装程序可以解决什么问题?

时间:2018-09-25 22:42:34

标签: githooks gitolite

gitolite信息不起作用,添加密钥后将其转换为no access密钥,并且未在auth-keys文件中创建相应的条目。

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

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

gitolite setup在第n次被调用时会做什么(根据它修复钩子的文档,它不再设置任何东西,但是我想知道用例是什么,哪个是我的) ?

有关乙醇钛矿信息的更多详细信息

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)的按键,现在这些按键可以按我设置的方式访问(现在的意思是gitolite setup之后)。

ssh-keygen -lf /home/repo/.ssh/authorized_keys | wc -l(或无管道部分,无论如何)键的数量及其名称表明我没有添加最新的键。

不适用于我的类似问题:keydir entries not propagating to authorized_keys

1 个答案:

答案 0 :(得分:0)

我猜一旦更深入地研究,文档就几乎可以找到答案。 @sitaramc挺不错的。

  
      
  • 没有选项,“ gitolite设置”是常规的“修复所有问题”命令   (例如,如果您从外部带来了回购协议,或者有人将其弄乱了   周围的钩子,或者您做了一个影响访问的rc文件更改   规则等)
  •   

症状键停止传播,并且在FATAL: unknown git/gitolite command: 'info'上出现错误ssh git-user@ser-git。解决方法是运行gitolite setup。因此,第一个问题就是标题:

gitolite设置可以解决什么问题?

  1. gitolite setup已实现here
  2. 我的Perl很弱,但是line 56中有一个设置功能。它会调用args(解析选项,因此这里没有要解析的东西),然后除非未使用h_only(只安装arg),所以我们跳过compile和{{1 }}触发并开始执行操作。

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

    POST_COMPILE

    }

  3. 软件包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 具有Gitolite::conf::storeline 228:我们将目录更改为repo基本目录(根据配置文件),对于每个phy_repo,我们都执行{{1} }。什么是phy_repo? <物理>物理上的。

  4. 相同的程序包,不同的方法和行:hook_1($repo) in line 354

方法hook_repos()

从字面上看,这是关于固定所有挂钩的。

  1. 重新创建通用钩子和管理钩子的目录。
  2. 重写update_hook(常见)和post_update_hook(管理员)。
  3. 设置通用和管理挂钩的755权限。
  4. 然后使用hook_1(phy_repo)将文件夹链接到常用/管理员挂钩。
  5. hook_1($repo)是公共模块,位于line 162