你如何检查mercurial repo是否处于干净状态?

sta*_*tti 8 mercurial dvcs

作为用户,我通常hg st用来检查仓库的状态,并验证它是否处于干净状态,没有修改过的文件.

在这里,我想以编程方式执行此操作.我知道我也可以使用hg st它,但输出不太适合计算机程序的消耗.有没有更好的方法来检查mercurial repo是否处于干净状态?

Lau*_*lst 7

如果发出该hg identify --id命令,则+在存储库修改文件时,它将使用字符为ID添加后缀.(注意:此标志不报告未跟踪的文件.)

如果为该+字符grep该命令的输出,则可以使用退出状态来确定是否有修改:

$ hg init
$ hg identify --id | grep --quiet + ; echo $?
1
$ touch a
$ hg identify --id | grep --quiet + ; echo $?
1
$ hg add a
$ hg identify --id | grep --quiet + ; echo $?
0
Run Code Online (Sandbox Code Playgroud)