Mercurial:列出/复制整个变更集的文件

时间:2013-09-23 02:17:30

标签: mercurial

我希望获取标有特定变更集的文件。 我想将它复制到另一个目录,我该怎么办?

Thankss

2 个答案:

答案 0 :(得分:1)

问题不明确,但如果您想要一个特定标签的完整文件集,请执行以下操作:

hg archive -r <tag> <destinationdir>

有关详细信息,请参阅hg help archive

答案 1 :(得分:0)

hg st --change [rev]将显示给定修订中更改的文件列表。由于mercurial会自动识别修订版的标记名称(假设它对修订版哈希值是唯一的),因此也可以使用标记名称。

如果要以自动方式复制这些文件,则需要一个干净的列表;另外,您可能只想要那里的文件,而不是删除/删除的文件。为此,你要使用

hg st -man --change [rev]

使用此列表将这些列表复制到其他位置将取决于平台/ shell。从Windows命令行,在您的仓库的根目录,您可以执行类似

的操作
for /f %I in ('hg st -man --change [rev]') do copy ..\changes

,虽然这不会保留子目录路径。我将把它作为练习留给读者:)

<强>更新

对不起,我还应该注意到,如果你想复制文件,那么你需要更新到相关修订版本(我假设在这里,但这似乎是想要这样做的自然理由......)。