我需要从命令行获取特定分支中的所有提交文件。此查询是否有任何解决方法?请让我知道获取文件的命令是什么。
问问题
139 次
3 回答
1
要在 Mercurial 控制下打印文件,您可以使用locate
:
hg locate -r <branch_name>
于 2013-05-16T06:46:46.207 回答
1
在我看来,您希望列出受某个分支影响的所有文件(我们mybranch
现在称之为)。一种方法是执行一个hg log
分支,并传递一个模板,指定您只希望列出受影响的文件:
hg log -b mybranch --template="{files % '{file}\n'}"
对于分支中的每个变更集,这将列出所有受影响的文件,并用换行符分隔。这样做的一个缺点是,如果一个文件在多个变更集中进行了更改,它将被多次列出。您可以通过将输出管道“修复”这个问题sort
,然后删除重复的行(取决于您的系统,您可能有一个工具,例如uniq
)。
请注意,以上内容将在列表中包含已删除的文件 - 如果您不希望这样做,那么您可以更改files
模板的一部分以在输出中仅包含修改 ( file_mods
) 或添加 ( file_adds
) 的文件。查看hg help template
更多信息。
于 2013-05-20T16:04:04.700 回答
-1
你应该使用:
hg manifest -r BRANCH
于 2013-05-21T14:20:12.693 回答