2009-11-24 11 views
34

तुलना करें मैं एक शाखा की तुलना किसी दूसरे से कैसे करूं? मैं ट्रंक में नवीनतम संशोधन के साथ एक शाखा की तुलना करना चाहता हूं।एसवीएन शाखा

उत्तर

56

आप के साथ शुरू कर सकता है:

svn diff http://REPOS/trunk http://REPOS/branches/B 

(। कहाँ http://REPOStrunk और branches के माता-पिता सहित अपने भंडार पथ है)

यह सभी पाठ परिवर्तनों सहित बड़ी मात्रा में टेक्स्ट प्रिंट करेगा, लेकिन यह कहने के बावजूद बाइनरी परिवर्तन नहीं होगा कि कहां और कब हुआ ।

+12

धन्यवाद! आपके उत्तर ने मुझे इस http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-diff.html का नेतृत्व किया जो बताता है कि TortoiseSVN – tukushan

+0

शॉर्टैंड -> 'svn diff ^/trunk ^/शाखाओं/b' – cchamberlain

0

यहाँ एक post from Murray Cumming जो गैर स्पष्ट प्रक्रिया का वर्णन करता है:

  • डिस्कवर संशोधन संख्या: आप शाखाओं में से प्रत्येक में नवीनतम संस्करण में संशोधन संख्या पता करने की जरूरत। ऐसा लगता है कि ऐसा करने का एकमात्र तरीका एसवीएन लॉग है।
  • सीडी शाखाओं में से एक में ट्रंक जैसे सीडी में।
  • आपूर्ति SVN diff आदेश के संशोधन संख्या: svn diff -r123:145
+1

क्या यह आपको सिर्फ यह नहीं बताएगा कि शाखा में आखिरी प्रतिबद्धता के बाद से 'ट्रंक' में क्या बदल गया है? क्षमा करें अगर मुझे कुछ याद आ रहा है - यह देर हो रही है ... – SimonJ

+0

आपको प्रत्येक शाखा में नवीनतम संशोधन संख्या देखने की आवश्यकता नहीं है: बस 'HEAD' का उपयोग करें। लेकिन यह वही नहीं है जो ओपी पूछ रहा था - वह अपनी शाखा और ट्रंक के बीच तुलना करना चाहता था, न कि एक ही शाखा में दो संशोधनों के बीच। – Ether

1

जानकारी लोगों के लिए धन्यवाद, मैं diff परिणामों की पठनीयता में सुधार करने के लिए कुछ जोड़ूंगा। अगर आपने उपयोग किया: svn diff svn: // url: 9090/शाखाएं/PRD_0002 svn: // url: 9090/शाखाएं/TST_0003>

svn_diff_filename.txt आप उपयोग कर सकते हैं: findstr "सूचकांक:" C: \ पथ \ svn_diff_filename.txt> svn_diff_file_list.txt

कि आप फ़ाइलों को किसी भी मतभेद हैं इस बात का एक पठनीय सूची लाएगा।

4

मैं आमतौर पर निर्देशिकाओं में दो शाखाओं (या शाखा और ट्रंक) की जांच करता हूं। फिर मैं एक ग्राफिकल उपकरण जैसे कॉम्पारे या इसी तरह का उपयोग करता हूं (आपकी प्राथमिकताओं, ऑपरेटिंग सिस्टम, ... के आधार पर)। जब मुझे जटिल विलय करने की आवश्यकता होती है तो यह वास्तव में मेरे लिए उपयोगी होता है।

0

एक शाखा के दो संशोधनों के बीच diff के लिए:

svn diff -r rLATEST:rOLD 

उपयोग svn log विभिन्न संशोधन प्राप्त करने के लिए। उपयोग svn log -l 5 का उपयोग कर लॉग में संशोधन की संख्या को सीमित कर सकते हैं। केवल अंतिम 5 संशोधन दिखाए जाएंगे।

12

तुम सिर्फ क्या फाइलों अलग हैं और सभी सामग्री को देखने के लिए नहीं करना चाहते हैं के उच्च स्तर के लिए देख रहे हैं, का उपयोग करें:

svn diff ^/trunk ^/branches/dev --summarize

2

(यह ट्रंक और देव शाखा तुलना) प्रतिष्ठा की कमी के कारण मुझे इसे मौजूदा उत्तर के खिलाफ टिप्पणी के रूप में जोड़ने नहीं दिया जाएगा, मुझे इसे एक अलग के रूप में जोड़ना होगा।

मेरे लिए svn diff का एक उपयोगी विकल्प --ignore-properties था। मेरी दो शाखाओं ने समान कोड के अनुसार समाप्त किया था, लेकिन अलग विलय इतिहास के साथ।

--ignore-properties का उपयोग करके मुझे अपने आप को यह साबित करने की इजाजत दी गई कि यह मामला "svn: mergeinfo" संपत्ति परिवर्तनों की बड़ी मात्रा के माध्यम से बिना छेड़छाड़ किए बिना था।

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