2011-03-21 13 views
41

यह लगभग Examining a single changeset in Mercurial का लगभग एक डुप्लिकेट है, और बिना संदेह के एक अन्य प्रश्न का डुप्लिकेट मैं अकेले Google के माध्यम से SO पर नहीं पा रहा हूं।Mercurial: किसी विशेष परिवर्तन में diffs?

मैं एक मर्क्युरियल रेपो के माध्यम से वापस देख रहा हूँ, और मैं यह देखने के लिए वास्तव में क्या दो संशोधनों के बीच बदल चाहते हैं (के 2580 और 2581 मान लीजिए):

hg log -v -r 2581 

मुझे सभी फ़ाइलों कुछ बदल देता है।

मैं इन फ़ाइलों के diffs को कैसे देख सकता हूं?

धन्यवाद।

+0

सिर्फ एक '-p' को' -v' बदल - नीचे मेरा उत्तर देखें। –

+0

संबंधित: http://stackoverflow.com/questions/1312633/examining-a-changeset-in-hg –

उत्तर

63

संशोधन 2580 necessasrily 2581. की मूल संशोधन यह अगर यह जाहिर है, है, लेकिन आसान अभी तक करने के लिए है की जाँच करने के लिए आसान नहीं है बस करो:

hg log -p -r 2581 

कि 2581 की तुलना करने के लिए अपने (प्रथम) माता-पिता संशोधन कोई फर्क नहीं पड़ता कि यह क्या है, और सबसे स्पष्ट रूप से प्रश्न के उत्तर को शामिल करता है "2581 ने क्या किया?"

+31

आप इसके लिए एचजी diff -c 2581 का भी उपयोग कर सकते हैं। – Ringding

+0

एक मिनट रुको, क्या '-p' विकल्प का अर्थ "पैच दिखाएं" नहीं है? –

2
hg diff -r 2580 -r 2581 

यह एक गलत उदाहरण है। संशोधन 2580 एक और शाखा में हो सकता है और आप दो शाखाओं के बीच अंतर प्राप्त करते हैं।

उपयोग

hg log -p -r 2581 

या hg diff -c 2581

पहले लाइनों में उन दोनों के बीच अंतर। एचजी लॉग भी परिवर्तन (माता-पिता, लेखक, दिनांक, ...)

मैं दूसरी संस्करण hg diff -c ... पसंद करता हूं क्योंकि यह पैच फ़ाइलों को स्टोर कर सकता है।

hg diff -c 2581 > revision_2581.patch

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