Mercurial:将一个文件及其历史复制到另一个存储库

我想知道是否可以将一个文件及其历史logging从一个存储库复制到另一个,而不必导入整个其他存储库。

您可以使用ConvertExtension将只有一个文件从第一个存储库导出到新的临时存储库,然后使用hg pull -f将新的存储库导入到目标存储库。

使用单行为ConvertExtension创build一个文件图:

 include path/to/file 

然后使用:

 hg convert path/to/original path/to/temporary --filemap filemap 

创build临时存储库。 接下来,在目标存储库中,执行:

 hg pull -f path/to/temporary 

把它的历史logging拉进那个文件。 这将创build一个新的头,所以使用hg merge与目标库中的头合并。

只要添加到Niall C.的答案,您可以重命名您正在导入的文件,以将它们放在正确的地方。

您必须先重命名该文件,然后将其包含在内。 你的文件映射将如下所示:

 rename "original/path" "wished/path" include "original/path"