问题
Let's say I have the following revisions:
rev 1:
+ Dim Foo as integer
rev 2:
+ I like big butts, I cannot lie
rev 3
- Dim Foo as integer
Foo is in rev 1 & 2, and removed from three. What command can I issue that will return all changesets that Foo was added or deleted?
Ideally I'd like to be able to do this from toroisehg as well
回答1:
You can use the grep command :
hg grep --all Foo
To address Lazy Badger concerns in comments.
$ 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
The output of the grep command is :
test:2:+:Dim Foo as integer
test:1:-:Dim Foo as integer
test:0:+:Dim Foo as integer
Which means, Foo
was first seen in the file test on revision 0 (the +
sign tells us that), then it dissapeared on revision 1 (the -
signs), and reappear again on revision 2.
I don't know if it is what you want, but it clearly indicates revision on which the searched word was added or deleted.
来源:https://stackoverflow.com/questions/9725856/in-mercurial-how-can-i-find-changesets-that-contain-a-string