作为一名用户,我通常使用hg st来检查存储库的状态,并验证它是否处于干净状态,没有修改文件。
在这里,我想以编程的方式来做这件事。我知道我也可以使用hg st来做这件事,但是对于计算机程序来说,它的输出并不理想。有没有更好的方法来检查mercurial repo是否处于干净状态?
发布于 2012-06-13 18:04:15
如果您发出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发布于 2012-06-18 03:04:03
您应该使用hg summary
$ hg init
$ echo blablabla > test.txt
$ hg summary
parent: -1:000000000000 tip (empty repository)
branch: default
commit: 1 unknown (clean)
update: (current)发布于 2012-06-18 06:11:21
大多数主流编程语言都有您可以访问的HG API。
https://stackoverflow.com/questions/11010909
复制相似问题