社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

Gitolite安装修复了什么?

LIttle Ancient Forest Kami • 6 年前 • 212 次点击  

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
 
212 次点击  
文章 [ 1 ]  |  最新文章 6 年前
LIttle Ancient Forest Kami
Reply   •   1 楼
LIttle Ancient Forest Kami    6 年前

我想,当我挖得更深的时候,医生们就有了答案。这是相当不错的@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