我有一个情况,我有一个开发和QA版本的回购。
我有一个目录foo,其中包含我一直希望被推/拉的代码。 我有一个目录栏,通常包含特定于该区域的项目(它们是不相关的),但有时会包含我想要推/拉的项目。
据我所知,我需要合并,然后还原某些文件,然后提交这些文件。这没关系,但似乎有点倒退。有没有更好的方法让Mercurial支持这个工作流程(或类似的工作流程)?
答案 0 :(得分:1)
正如Chris Morgan所说,这并不是Mercurial的工作方式。当您推送到另一个存储库时,您会推送许多更改集 - 这些更改集中的任何内容都会被推送。
一种可能的解决方案,虽然它是非常可怕的解决方法(在我看来)是使用Convert扩展来创建一个新的存储库,过滤掉你不想要的东西使用--filemap
选项。
但是,如果这是QA,他们还需要一个Mercurial存储库吗?您可以简单地归档(标记)版本。默认情况下,存档将包含有关您在.hgarchival
文件中存档的变更集的信息。例如
hg archive -X "bar/**" archive.tgz
...将创建一个文件archive.tgz
,其中包含当前点的repo存档,而不包含“bar”目录。如果您希望排除特定文件,可以多次使用-X
选项。