1

我正在使用具有以下结构的 Mercurial 存储库:

  -- Root
     -- .hgsub
     -- SubDir
        -- SubSubDir
        -- SubRepo

.hgsub 文件声明 SubRepo 如下:

    SubDir/SubRepo = ssh://server//subcomponent

我需要摆脱 subrepo 并将其替换为 repo 中名为 SubRepo 的实际文件夹,所以我按照hg 文档所说的操作,删除了 .hgsub 文件并提交。然后我把我自己的东西放在 SubRepo 中并提交它,给我留下了:

  -- Root
     -- SubDir
        -- SubSubDir
        -- SubRepo

花花公子。但是,当我尝试从仍然具有 .hgsub 文件的存储库中提取更改时,我遇到了麻烦。

有没有更好的方法来替换子存储库?或者我应该做一些聪明的事情来使这项工作更好,比如使用一个选项来拉取或临时更改我的 .hgsub 以指向一个新文件夹而不是完全删除它?

4

1 回答 1

2

你做对了。一旦你从仍然有的仓库中提取,.hgsub你需要将你的头(没有.hgsub)与他们的(有)合并,当你删除文件作为合并/提交的一部分时,你最终会得到世界上只有一个头脑没有.hgsub,一切都是正确的。只要您不对他们仍然拥有的远程头进行“hg update”,就.hgsub可以了。

于 2012-04-03T00:41:18.673 回答