列出当前目录中由Mercurial控制的文件

列出当前目录中由Mercurial控制的文件,mercurial,Mercurial,我有几个目录,其中有些文件是Hg存储库的一部分,有些不是。如何列出当前目录中属于存储库一部分的文件 我知道 hg status | grep "\? Path/To/Dir/In/Repo" 获取不属于存储库的所有文件,这样我就可以反转正则表达式,但在大型存储库中“hg status”也需要很长时间,因此不需要这样的解决方案是理想的 此外,如果可能,解决方案不需要任何扩展名。您可以按说明获取存储库中所有文件的状态。不幸的是,我不是shell的专家,因此您需要在命令结果之上进行一些输出处理。使用

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

我知道

hg status | grep "\? Path/To/Dir/In/Repo"
获取不属于存储库的所有文件,这样我就可以反转正则表达式,但在大型存储库中“hg status”也需要很长时间,因此不需要这样的解决方案是理想的


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

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

使用
hg locate
。(
hg帮助查找
了解详细信息…)

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

这对我很有用:

hg locate --include ./*.*  

请注意,
hg locate
在Mercurial 3.2中已被弃用,因此请使用

hg files
它采用相同的选项,所以

hg files --include . --exclude ./*/*
仍然适用于仅显示当前目录中的文件