我正在尝试使用以下命令获取当前文件和目录的列表:
hg manifest -r tip
然而,这会带来如下列表:
.hgtags
folder1/blah.c
folder1/blah.h
foo.json
folder2/bleh.c
folder2/bleh.h
test.json
如何仅列出以下内容?
.hgtags
folder1
foo.json
folder2
test.json
答案 0 :(得分:3)
在Unix机器上你可以尝试:
hg manifest -r tip | cut -d "/" -f 1 | sort -u
或
hg manifest -r tip | cut -d "/" -f 1 | uniq
cut -d "/" -f 1
:选择由' /' uniq
:过滤掉重复的行或使用Python(更多跨平台):
你需要安装python-glib(通过pip)
import hglib
repo = hglib.open("/path/to/repo")
manifest = repo.manifest("tip")
files = set(f[4].split('/')[0] for f in manifest)
答案 1 :(得分:0)
用于列出受版本控制的pwd文件的仅限Mercurial命令是:
hg files "glob:*"
由于manifest
和files
命令都是面向文件的,因此仅使用Mercurial的方法可能根本无法达到规定的目标。