2012-03-15 9 views
12

चलो कहते हैं कि मैं निम्नलिखित संशोधन करते हैं:Mercurial में मैं स्ट्रिंग्स वाले परिवर्तनों को कैसे ढूंढ सकता हूं?

rev 1: 
+ Dim Foo as integer 

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

rev 3 
- Dim Foo as integer 

फू रेव 1 & 2 में है, और तीन से निकाल दिया। मैं किस आदेश को जारी कर सकता हूं जो सभी परिवर्तनों को वापस कर देगा जो Foo जोड़ा या हटा दिया गया था?

आदर्श रूप में मैं toroisehg रूप में अच्छी तरह

+0

[पैच grepping से अस्थिर में changesets ढूँढना] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/5330782/finding-changesets-in-mercurial-by-grepping-the-patch) – krtek

+0

फू की सामग्री है प्रतिबद्ध संदेश में फ़ाइल, फ़ाइल नाम या पाठ? –

उत्तर

18

आप grep आदेश का उपयोग कर सकते हैं से यह करने के लिए सक्षम होने के लिए करना चाहते हैं:

hg grep --all Foo 

टिप्पणी में लेज़ी बेजर चिंताओं को दूर करने के लिए।

$ 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 

ग्रेप आदेश का आउटपुट है:

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

जिसका मतलब है, Foo पहले संशोधन 0 पर फ़ाइल परीक्षण में देखा गया था (+ चिह्न हमें बताता है कि), तो यह संशोधन पर गायब 1 (- संकेत), और संशोधन 2 पर फिर से दिखाई दें।

मुझे नहीं पता कि यह वही है जो आप चाहते हैं, लेकिन यह स्पष्ट रूप से उस संशोधन को इंगित करता है जिस पर खोज शब्द जोड़ा या हटा दिया गया था।

+0

बीटीडब्ल्यू: grep ** फ़ाइलें लौटाता है, परिवर्तन नहीं **। ओपी ने पूछा "सभी परिवर्तन ..." –

+1

@LazyBadger आप देख सकते हैं कि grep वास्तव में ऐसा करता है, हमें बताता है कि खोजा गया पैटर्न किस संशोधन में प्रकट होता है और गायब हो जाता है – krtek

+0

मुझे परिवर्तन पसंद है, लेकिन यह मुझे वहां लाने के लिए करता है। – WhiskerBiscuit

संबंधित मुद्दे

 संबंधित मुद्दे