mercurial - 仅列出 hg 清单中的工作目录文件和目录?
问题描述
我正在尝试使用以下命令获取当前文件和目录的列表:
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
解决方案
在 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)
推荐阅读
- html - 如何在 Angular 的对话框中显示输入更改?
- javascript - 如何检索包含特定字符串的特定对象
- autocad - 运行 AutoLISP 文件的脚本
- linux - 当accept() 失败且不是EAGAIN 或EWOULDBLOCK(非阻塞IO)时该怎么办?
- tensorflow - 经过一段时间的训练,训练损失值在增加,但模型检测到的对象很好
- c# - ASP.net 核心 RegularException 属性 - 多个条件
- c# - 为什么我不能在构造函数中设置这个只读属性?
- javascript - 使用 lodash 对翻转函数进行柯里化 - 有限制吗?
- coq - 在 Coq 中匹配假设的更短的符号?
- android - 无法解析符号“FirebaseListAdapter”