Gitosis-init 返回“致命的 Python 错误:是一个目录”,这是为什么呢?

Gitosis-init 返回“致命的 Python 错误:是一个目录”,这是为什么呢?

我正在尝试安装 gitosis,因为我想使用 Indefero,并且我需要一个用于 git:// 协议的守护进程。但是,按照 Git Pro 书中的说明 (http://progit.org/book/ch4-7.html)我很快就遇到了麻烦。事情是这样的:

[x@x gitosis]# sudo -H -u git gitosis-init < /tmp/id_dsa.pub
Fatal Python error: <stdin> is a directory
Aborted

这个错误对我来说真的很模糊,我没有找到任何有用的信息,除了我认为 stdin 在某种程度上是 C 的一部分,这让我更加困惑,因为错误是 Python。我真的不明白发生了什么,也不知道在哪里寻找线索,所以我希望有人能告诉我下一步在哪里寻找有关该问题的更多信息。谢谢。

答案1

Gitosis 已无人维护,已被弃用,取而代之的是吉托莱特progit 页面)。部分原因是由于 gitosis 的安装和设置极易出错,正如您所发现的。

另外,您提到您需要一个用于 git:// 协议的守护进程。gitosis 和 gitolite 都没有提供此功能,也不是必需的。Gitolite 确实提供了一种控制哪些存储库可通过 git:// 协议使用的方法,但需要已安装、配置和运行外部 git-daemon。

答案2

我认为您的 shell 正在将 stdin 重定向到 sudo,而不是您的 git 命令。相反,请尝试从 root shell 运行 git。您(希望)可以使用“sudo su -”获得 root shell。

相关内容