【问题标题】:"gitolite mirror push" failing“gitolite mirror push”失败
【发布时间】:2020-01-25 00:56:29
【问题描述】:

我已经运行 gitolite 一段时间了,这周设置了第二台服务器作为我所有存储库的镜像。

我在已推送到两台服务器的 gitolite.conf 文件中有以下节:

repo data/[0-9]+/..*
    C       =   @developers
    RW+     =   @developers
    R       =   @all
    option mirror.master  = oxygen
    option mirror.slaves  = nitrogen

repo mirror_test
    RW+     =   @all
    option mirror.master  = oxygen
    option mirror.slaves  = nitrogen

我有名称为“data/11756/machine11756.git”、“data/11756/recorded11756.git”和“data/11779/machine11779.git”的 repos,总共超过 70 个。

设置镜像并通过 mirror_test 存储库对其进行测试后。我需要将存储库的副本复制到从站上,因此我编写了一个脚本来运行“ssh gitolite mirror push natural”。 这些镜像推送中只有九个成功,其余的返回:

fatal: '/home/git/repositories/data/11756/machine11756.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

发生了什么事?

【问题讨论】:

  • 为了继续前进,我决定手动将 repos 从 master 复制到 slave。完成此操作后,我重新运行了我的脚本(以验证事情),一切似乎都很好。话虽如此,我已经超出了眼前的问题,但希望有人能就可能出了什么问题提出意见,这样我以后如果设置任何额外的从站就不会遇到它。

标签: gitolite


【解决方案1】:

Gitolite mirroring 的语法应该是:

ssh git@host mirror push slave-server-name repo-name

在您的情况下,gitolite 可以是~/.ssh/config 中的一个条目。

除了possible SSH syntax issue,它还可以解决远程端的访问或权限问题。

【讨论】:

  • 我的 ~/.ssh/config 文件中有一个别名,将主机“gitolite”定义为主机名“oxygen”。如果不是这种情况,那么任何推动都不会奏效。问题是,“为什么其中一些失败了?”
  • @jimzat 我同意,这不是语法、问题,因此我在答案中提到了“访问或许可”位。 gitolite 追踪会返回什么? (gitolite.com/gitolite/…)
  • 如何使用“gitolite access”检查镜像推送?我应该在哪里运行这个主机或从机?我用什么用户名,“git”?
  • @jimzat 是 (gitolite.com/gitolite/cookbook.html#access),来自您有错误消息的从站。用户名应该是 Gitolite 授权访问远程仓库的用户名(并添加到 Gitolite:gitolite.com/gitolite/basic-admin#addremove-users)“git”只是用于安装 Gitolite 的帐户。
  • 在我的本地机器上运行“ssh info”报告说我是用户“JiMZ_laptop”(当我在 git_master 上运行和“信息”时出现相同的用户)。如果我在 git_slave 上登录 git 用户时运行“gitolite access -s data/11755/machine11755 JiMZ_laptop W any”,我会得到“ p gitolite.conf:24 C = @developers/ A gitolite.conf:25 RW+ = @开发者”
猜你喜欢
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 2012-03-07
  • 2018-03-21
  • 1970-01-01
  • 2012-02-29
  • 1970-01-01
  • 2014-06-15
相关资源
最近更新 更多