4

我有一些目录包含一些文件,这些文件是 Hg 存储库的一部分,有些不是。如何列出当前目录中属于存储库的文件?

我知道

hg status | grep "\? Path/To/Dir/In/Repo"

获取所有属于存储库的文件,因此我可以反转正则表达式,但是“hg status”在大型存储库上也需要很长时间,因此不需要的解决方案将是理想的。

此外,如果可能,该解决方案不应需要任何扩展。

4

4 回答 4

5

使用hg locate. (hg help locate详情...)

hg locate --include . --exclude ./*/* --fullpath将列出当前目录中的所有跟踪文件,但不列出任何子目录。如果您不关心完整路径,则可以排除该--fullpath标志。

于 2012-05-31T22:07:41.407 回答
1

请注意,hg locate从 Mercurial 3.2 开始不推荐使用,因此请使用

hg files

它采用相同的选项,所以

hg files --include . --exclude ./*/*

仍然适用于仅显示当前目录中的文件。

于 2017-02-23T14:26:34.987 回答
0

您可以按照此处所述获取存储库中所有文件的状态。不幸的是,我不是shell的专家,所以您需要在命令的结果之上进行一些输出处理。

于 2012-05-31T21:57:56.097 回答
0

这对我有用:

hg locate --include ./*.*  
于 2013-04-12T09:34:52.023 回答