代码之家  ›  专栏  ›  技术社区  ›  Robert Claypool

一个Mercurial存储库是否可以存在于另一个Mercurial存储库中?

  •  8
  • Robert Claypool  · 技术社区  · 15 年前

    一个hg-repo能在我本地文件系统上的另一个hg-repo中生存吗?

    screenshot of one repo inside another

    我正在下载“sandbox”的bitbucket wiki,我想知道是否应该将其放置在 repos/sandbox/wiki repos/sandbox-wiki .

    前者可以吗?

    编辑:请参见 Subrepository .

    4 回复  |  直到 7 年前
        1
  •  5
  •   kriss    15 年前

    是和否。取决于你想做什么。您可以创建repo“sandbox/wiki”,但此内部repo中的文件不会提交到外部“sandbox”repo中(@Jason是对的)。如果你不想,没问题。

    尝试在sandox中显式添加来自wiki repos的文件,您将得到下面的消息。如果您只是添加路径到某个包含内部repo的目录,那么这些文件将被忽略。

    来自sandox root directoy:

       hg add wiki/myfile
       abort: path 'wiki/myfile' is inside repo 'wiki'
    
        2
  •  7
  •   0atman    15 年前

    简言之,答案是肯定的,但我无法想象你为什么要这么做。

    repos/sandbox-wiki
    

    [编辑]另外:

    Yo Dowg, I herd you like repositories.
    
    So we put a repo in your repo so you can version while you version
    

        3
  •  1
  •   Vadim Kotov First Zero    7 年前

    假设您正在一个项目中工作:/MyProject。在这个文件夹中,您可以放置所有内容:代码、文档、测试等。

    记住/MyProject包含所有内容。其中包括主代码和一些辅助项目。您还希望跟踪/MyProject/AuxiliaryProject中的辅助项目的进度,因此可以使用Mercurial跟踪其发展。

    另外,您还需要为主代码:/MyProject/main创建一个单独的存储库

    在这种情况下,您需要嵌套的存储库:一个大的存储库可以使用bundle和子存储库来备份所有内容,以管理每个子项目。

    -忽略嵌套存储库 -包括嵌套的存储库,还包括.Hg文件夹(对于备份目的很有意义)

    ---------编辑: https://www.mercurial-scm.org/wiki/subrepos

    此外,还有一个名为“forest”的扩展,将来可能会过时: https://www.mercurial-scm.org/ForestExtension

        4
  •  -1
  •   msw    15 年前

    你需要建立一个 .hgignore 文件以排除wiki,因为mercurial假定它负责所有子体。 这可能会给用户带来更多的困惑。