在mercurial中,我如何找到包含字符串的变更集?

时间:2012-03-15 18:26:55

标签: mercurial tortoisehg

假设我有以下修订版本:

rev 1:
+ Dim Foo as integer

rev 2:
+ I like big butts, I cannot lie

rev 3
- Dim Foo as integer

Foo 在rev 1& 2,并从三个删除。我可以发出哪些命令会返回添加或删除 Foo 的所有变更集?

理想情况下,我希望能够从toroisehg那里做到这一点

1 个答案:

答案 0 :(得分:19)

您可以使用grep命令:

hg grep --all Foo

在评论中解决Lazy Badger的问题。

$ hg init
$ echo "Dim Foo as integer" > test 
$ hg commit -m "1"
$ echo "I like big butts, I cannot lie" > test 
$ hg commit -m "2"
$ echo "Dim Foo as integer" > test 
$ hg commit -m "3"
$ hg grep --all Foo

grep命令的输出是:

test:2:+:Dim Foo as integer
test:1:-:Dim Foo as integer
test:0:+:Dim Foo as integer

这意味着Foo首次出现在修订版0的文件测试中(+符号告诉我们),然后它在版本1(-符号)上消失了,并在修订版2上重新出现。

我不知道它是否是您想要的,但它清楚地表明添加或删除搜索词的修订版。