我正在使用hg prompt扩展以在使用 hg 时有一个很好的提示。
现在我的提示如下所示:
~/my/current/path [hg default !]
提示中的 '!'
部分是通过 hg 提示
的 {status}
关键字获得的,显示已修改的文件。它显示未知文件的 '?'
但我想要类似于 posh-hg
的东西,它还显示已修改或未知文件的数量。
我知道我可以通过 hg Summary
获取此信息,但我的 sed
fu 无法正确获取正则表达式以获取总数。
hg Summary
命令的输出示例:
parent: 0:16ed527e220f tip
parent commit message
branch: default
commit: 5 modified, 2 unknown
update: (current)
做一个 Mercurial 总结| grep 'commit' 我得到了正确的行:
$ hg summary | grep 'commit'
commit: 5 modified, 2 unknown
鉴于上面的输出,我如何获取已修改和未知文件的数量,以便我可以使提示符如下所示:
[hg 默认 5! 2?]
最佳答案
这有效:
hg sum | sed -ne '/^commit:/{s/^commit: //;s/ modified/\!/;s/ unknown/?/;s/,//g;p}'
...尽管可能有更优雅的方法来做到这一点。
您可能可以自己找出添加
、删除
等部分。
关于regex - 提示有大量已修改和未知的 Mercurial 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7440221/