在我的本地文件系统中,一个hg仓库能够存在于另一个hg仓库中吗?
我拉下来“沙箱”到位桶维基,我想知道这是否应该被放置在repos/sandbox/wiki
或repos/sandbox-wiki
。一个Mercurial存储库能否位于另一个Mercurial存储库中?
前者可以吗?
编辑:请参阅Subrepository。
在我的本地文件系统中,一个hg仓库能够存在于另一个hg仓库中吗?
我拉下来“沙箱”到位桶维基,我想知道这是否应该被放置在repos/sandbox/wiki
或repos/sandbox-wiki
。一个Mercurial存储库能否位于另一个Mercurial存储库中?
前者可以吗?
编辑:请参阅Subrepository。
是和否。取决于你想要做什么。你可以创建回购'sandbox/wiki',但这个内部回购中的文件不会在外部'沙箱'回购中提交(@Jason是对的)。如果你不想,没问题。
尝试在sandox中显式添加wiki repos中的文件,然后您会看到下面的消息。如果您只是将路径添加到包含内部回购的某个目录,则文件将被忽略。
从sandox根directoy:
hg add wiki/myfile
abort: path 'wiki/myfile' is inside repo 'wiki'
简短的回答是肯定的,但我无法想象为什么你会想。
在你的榜样,我觉得你应该一起去:
repos/sandbox-wiki
[编辑] Additionaly:
Yo Dowg, I herd you like repositories.
So we put a repo in your repo so you can version while you version
:-)
你需要设置在沙盒中添加
这可能会产生更多的用户困惑。.hgignore
文件以排除wiki,因为mercurial假定它负责所有后代。
水银不允许嵌套库,但至少有一个理由来让他们:
试想一下,你在一个项目工作:/ MyProject的。在这个文件夹中,你放置了一切:代码,文档,测试等。
你想备份你的工作,因为它非常重要,所以你为/ MyProject创建一个存储库。然后,你可以使用捆绑包来保存/ MyProject的进化,并将它们备份到USB闪存中,以便在硬盘损坏的情况下恢复一切。
请记住/ MyProject包含所有内容。其中包括主要代码和一些辅助项目。您还希望跟踪/ MyProject/AuxiliaryProject中的辅助项目的进度,因此您使用Mercurial来跟踪其发展。
此外,要对主代码独立的库:/ MyProject的/主营
在这种情况下,你要嵌套仓库:一个大一个能够备份使用束和孩子仓库一切用于管理每个子项目。
我认为Mercurial在初始化存储库时应该给用户几个选项。例如: - 忽略嵌套存储库 - 包括嵌套存储库但忽略.Hg文件夹(即,如同没有嵌套存储库但不忽略嵌套存储库中包含的信息一样)。 - 包括嵌套库,也包括.Hg文件夹(有意义的备份目的)
---------编辑: Subrepositories是一个特点,就是正在进行的工作: https://www.mercurial-scm.org/wiki/subrepos
此外,还有一个名为“forest”的扩展名可能在将来过时: https://www.mercurial-scm.org/ForestExtension
?!我的印象是,mercurial会自动忽略其根目录下的其他mercurial目录。 (实际上是这样做的) – 2010-05-20 13:25:09
正确的你是:它确实忽略了下属。不过,考虑到mercurial的默认简洁输出,我仍然认为你会为自己陷入混乱。 – msw 2010-05-20 15:44:10