2010-02-12 22 views
68

trunk के बीच अंतर खोजने के लिए कोई तरीका है और एक शाखा 0.4.x कहां है?ट्रंक और शाखा के बीच अंतर खोजें?

मुझे एक टैग बनाने की आवश्यकता है - हालांकि मुझे याद नहीं है कि ट्रंक या शाखा में मेरे नवीनतम सुधार किए गए हैं या नहीं।

उत्तर

104

आप हाथ में भंडार की एक चेकआउट है, तो आप ^ (कैरट manual में इसके लिए खोज,) अंकन इस तरह रेपो की जड़ को संदर्भित करने के लिए उपयोग कर सकते हैं:

svn diff --old ^/branches/0.4.x --new ^/trunk 

यह काम करता है सबवर्सन 1.6 के बाद से।

यदि आप किसी पुराने तोड़फोड़ या रेपो का कोई काम चेकआउट है, तो आप पूर्ण पथ, मूल redbook में वर्णित के रूप में उपयोग कर सकते हैं:

svn diff --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/ 

आप इस सवाल का जवाब आप देख रहे हैं देना चाहिए।

http://.../repo/ को अपने भंडार के वास्तविक URL के साथ बदलें।

+1

यह मैक ओएस एक्स (माउंटेन शेर) के साथ काम नहीं करता है जिसमें विवर्तन (1.7) शामिल है। मैं होमब्रू के साथ 1.8.1 subversion में अपग्रेड किया और यह काम किया। – Jason

+2

देखभाल नोटेशन (एसवीएन> = 1.6) के साथ: svn diff --old ^/शाखाएं/0.4.x - नया ^/ट्रंक –

+0

@ स्टेवकेहलेट: जहां '^' का अर्थ है "चेकआउट का भंडार जो मैं वर्तमान में हूं" ? –

2

आप अंतर देखने के लिए कमांड प्रॉम्प्ट का उपयोग करने के बजाय तुलना के लिए meld टूल का उपयोग कर सकते हैं। यह कुछ इस तरह चलता है।

svn diff --diff-cmd='meld' --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/ 
+0

'meld' उपकरण क्या है? – ceving

+2

@ceving: मुझे लगता है कि वह [Meld] (http://meldmerge.org/) को संदर्भित करता है। उबंटू में यह पहले से ही भंडार [मेल्ड डिफ व्यूअर] में होना चाहिए (https://apps.ubuntu.com/cat/applications/lucid/meld/) –

5
svn diff ^/trunkUrl/fileName ^/branchUrl/fileName 

यह आपको शाखा और ट्रंक में एक फ़ाइल के बीच का अंतर दे देंगे।

1

यदि आप वर्तमान शाखा के खिलाफ अंतर करना चाहते हैं, तो आप केवल एक डॉट का उपयोग कर सकते हैं।

svn switch ^/branches/branchName 
svn diff . ^/trunk 
संबंधित मुद्दे