如果您想对构建的二进制文件进行版本控制,我建议将它们存储在子存储库中。但是,您不希望子存储库成为主存储库的子存储库。
相反,我建议配置如下:
umbrella_repo/
.hgsub
source_repo/
binaries_repo/
然后你可以完全独立地克隆source_repo/并在其中发展。您的回归设置有一个 的克隆umbrella_repo,它会自动克隆source_repo和binaries_repo,并将它们的工作目录保持在您提交时它们所在的修订版中umbrella_repo。
当你想创建一个新的回归检查点时,在你的回归设置中:
在 中进行干净更新umbrella_repo,并可能进行清除:
cd umbrella_repo
hg update -C tip
hg purge --all
更新到最新的umbrella_repo/source_repo:
cd source_repo
hg pull
hg update -C <revision you want>
hg purge --all
建造。
将二进制文件复制到binaries_repo并提交。
提交umbrella_repo。
现在,当您更新到刚刚提交的修订版时umbrella_repo,它会自动更新到 和 中的匹配修订source_repo版binaries_repo。
有关更多信息,请查看关于子存储库的Mercurial 帮助。请特别注意,大多数命令默认情况下不会递归到子存储库中。