我需要从命令行获取特定分支中的所有提交文件。是否有针对此查询的解决方法?请让我知道获取文件的命令。
答案 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