HG如何仅在特定分支中获取提交的文件

时间:2013-05-16 05:26:09

标签: mercurial

我需要从命令行获取特定分支中的所有提交文件。是否有针对此查询的解决方法?请让我知道获取文件的命令。

3 个答案:

答案 0 :(得分:1)

要在Mercurial控件下打印文件,您可以使用locate

hg locate -r <branch_name>

答案 1 :(得分:1)

在我看来,您希望列出受某个分支影响的所有文件(我们现在将其称为mybranch)。一种方法是执行分支的hg log,并传递一个模板,指定您只想列出受影响的文件:

hg log -b mybranch --template="{files % '{file}\n'}"

对于分支中的每个变更集,这将列出所有受影响的文件,由换行符分隔。这样做的一个缺点是,如果在多个变更集中更改了文件,则会多次列出该文件。你可以通过将输出汇总到sort来“修复”这个问题,然后删除重复的行(取决于你的系统,你可能有uniq这样的工具。)

请注意,上述内容将包含列表中已删除的文件 - 如果您不希望这样,那么您可以更改模板的files部分以仅包含已修改的文件(file_mods)或在输出中添加了(file_adds)。有关详细信息,请查看hg help template

答案 2 :(得分:-1)

您应该使用:

hg manifest -r BRANCH
相关问题