【问题标题】:HG Clone repository with subrepos without pullingHG 克隆存储库,带有子存储库,无需拉取
【发布时间】:2012-08-16 07:22:47
【问题描述】:

我试图弄清楚如何在不从源中提取的情况下克隆带有子存储库的存储库。恐怕,虽然我已经阅读了教程和示例,但我对 Mercurial 的了解是初步的。

现在,.hgsub 结构是一个类型列表:

subrepo = ssh://address/subrepo

阅读How to make local clone without pulling subrepos again?帖子的答案我尝试将其更改为列表

subrepo = subrepo
[subpaths]
subrepo = ssh://address/subrepo

hg clone c:\path\repo

hg update -R rev

无论我做什么,我总是最终从源(ssh)而不是本地子存储库内容中提取。

注意:当我尝试更新我的原始存储库时,我收到一个关于重复路径的错误,只有在我恢复我在 .hgsub 文件中的更改时才会消失。

我还尝试了什么:

一个想法:制作存储库的副本,例如复制和粘贴,并使用硬链接。这是个好主意吗?当我更改副本时,我最终不会对原始文​​件进行更改吗?

另一个想法:使用硬链接克隆 .hg 文件夹,然后简单地复制其余内容?

有人有解决这个问题的办法吗?

【问题讨论】:

  • 您链接到的问题将 [subpaths] 信息放在 .hgrc 中,而不是 .hgsub 中 - 您的问题暗示您更改了 .hgrc
  • 我更改了 hgsub,我链接的问题也说了同样的话,除非我读错了?
  • 仍然,我附加的链接,显示这必须在 hgsub 中完成的文档链接: Mercurial 2.0 的一种解决方法是使用 .hgsub 中的 [subpaths] 将“理想”路径映射到一些托管服务提供商使用的平面命名空间。例如,托管在bitbucket.org/kiilerix/subrepodemo 的项目可能有这样的 .hgsub:sub = sub [subpaths] bitbucket\.org/kiilerix/subrepodemo/sub = bitbucket.org/kiilerix/subrepodemo-sub

标签: mercurial clone subrepos


【解决方案1】:

我最终放弃了这个想法 - 复制并粘贴 repo 文件夹。只是为了好玩,我制作了一个脚本来复制所有文件并硬链接 .hg 文件夹。至少,我在这个过程中确实了解了一点 Mercurial 的知识……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2017-10-17
    • 2016-10-09
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多