1

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

4

3 回答 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 回答