【问题标题】:Mercurial Subrepos are not created during cloning process克隆过程中不创建 Mercurial Subrepos
【发布时间】:2011-11-03 16:28:37
【问题描述】:

我创建了一个存储库,其中包含一个名为“subrepo”的子文件夹。然后我创建了一个包含以下内容的 .hgsub 文件:

subrepo = https://me@bitbucket.org/me/subrepo-test

当我转到 BitBucket 并查看源代码时,我看到一个“subrepo”文件夹,单击该文件夹后,我会转到链接的子存储库。我还看到了 .hgsub 文件以及我创建的根级 index.php 文件。

我的问题是,克隆或下载主存储库的源代码只会让我得到 index.php 文件,而不是 .hgsub 文件或包含链接子存储库内容的子文件夹。我的理解是我应该得到完整的内容。我可能做错了什么?

【问题讨论】:

  • 您能否提供您用于克隆存储库的确切命令以及它的名称,以便我们也可以进行测试?
  • 我在我的 Mac 终端上运行 hg clone https://me@bitbucket.org/me/parent-repo。
  • 使用-v 选项运行克隆命令并发布输出。
  • @Micah 你能提供你的存储库的 url 以便我们测试它吗?
  • 这里是存储库的实际 url(现在是公开的):bitbucket.org/woodent/parent-repo。最新的发展是,当我克隆时,我现在得到了一个完整的文件结构,但是使用 BitBucket 中的“获取源”链接并没有得到整个结构。这可能是 BitBucket 问题吗?

标签: mercurial subrepos mercurial-subrepos


【解决方案1】:

.hgsub 控制子仓库的修订:没有 .hgsub,没有子仓库。因此,如果您的 .hgsub 没有被克隆,也许您正在检查 .hgsub 不存在的修订版/头?尝试使用 .hgsub 更新到修订版,相应的 subrepo 也应该被拉取。

【讨论】:

  • 问题是我正在使用最新版本的父 repo,它确实包含 .hgsub 文件。当前版本显示在我的 BitBucket 帐户中时,当前显示的是 .hgsub 文件。实际上,我对它进行了更多的玩弄,并且还有一个 .hgsubstate 文件...但是没有正确下载子存储库。
【解决方案2】:

好的,所以原始克隆不起作用的原因是因为我最初没有正确克隆子存储库,进行更新然后提交更改......然后是提交/推送父。

我没有从 BitBucket 下载完整源代码的原因是 hg archive 命令(由 BitBucket 使用)不会递归打包子存储库。在命令中添加--subrepos 标志将导致所有内容都被打包。我目前正在就这个问题与 BitBucket 进行沟通。

【讨论】:

  • 请将其标记为已回答。它在列表中显示为未回答的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 2011-06-29
  • 2010-12-18
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
相关资源
最近更新 更多