如何用文件夹替换Mercurial subrepo?

时间:2012-04-02 21:25:17

标签: version-control mercurial mercurial-subrepos

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

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

.hgsub文件声明SubRepo如下:

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

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

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

丹迪。但是当我试图从仍然有.hgsub文件的存储库中提取更改时,我遇到了麻烦。

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

1 个答案:

答案 0 :(得分:2)

你做得对。一旦你从仍然有.hgsub的回购中拉出来,你需要将你的头(没有.hgsub)与他们(那个)合并,当你删除文件作为合并/提交你最终只会有一个没有.hgsub的头,而且一切都在世界上。只要你没有'hg update'到仍然有.hgsub的远程头部,你应该没问题。