我有一些目录包含一些文件,这些文件是Hg存储库的一部分,而另一些则不是。如何列出当前目录中属于存储库的文件?
我知道
hg status | grep "\? Path/To/Dir/In/Repo"
获取所有不存储库的文件,因此我可以反转正则表达式,但“hg status”在大型存储库上也需要很长时间才能解决问题我需要这是理想的。
此外,如果可能,解决方案不需要任何扩展。
答案 0 :(得分:5)
使用hg locate
。 (hg help locate
了解详情...)
hg locate --include . --exclude ./*/* --fullpath
将列出当前目录中的所有跟踪文件,但不会列出任何子目录。如果您不关心完整路径,则可以排除--fullpath
标记。
答案 1 :(得分:1)
请注意,从Mercurial 3.2开始,hg locate
已弃用,因此请使用
hg files
它采用相同的选项,所以
hg files --include . --exclude ./*/*
仍可用于仅显示当前目录中的文件。
答案 2 :(得分:0)
您可以按照here所述获取存储库中所有文件的状态。不幸的是,我不是shell的大师,所以你需要在命令结果之上进行一些输出处理。
答案 3 :(得分:0)
这对我有用:
hg locate --include ./*.*