Mercurial - 获取在最新变更集中更改的文件列表

时间:2012-10-20 15:51:31

标签: mercurial command

我知道hg export tip包含上述信息。但是输出包含的信息比我需要的多。有没有办法只获取文件名而不解析hg export tip的输出?也许其他一些mercurial命令?

3 个答案:

答案 0 :(得分:7)

您想要status,请按照以下方式使用:

hg stat --change tip

这将列出变更集中标记为tip的每个文件的文件名,其中前一个M代表已修改,R代表已删除,或A已添加。

您可以将tip替换为代码或修订号。

点击hg help status

了解详情

答案 1 :(得分:2)

您也可以使用模板进行此操作。有关详细信息,请参阅hg help templating

获取仅包含修订中更改的文件的列表:

hg log -r [rev] --template "{file_mods}\n"

在您的情况下,将[rev]替换为tip。当您需要批处理信息(例如从脚本中)并且不需要任何其他无关输出时,使用模板有时比status更有帮助。

答案 2 :(得分:0)

您可以尝试这样的事情:

$ hg diff | grep "^--- "

,或者

$ hg diff -r 6755 | grep "^--- "

hg diff会向您显示所有差异,然后grep会清除除了包含已更改文件名称的行之外的所有内容。是的,它确实看起来像是一个混乱,...所以不要告诉任何人我告诉过你的事情。