2011-06-06 11 views
57

से बनाई गई थी, मैं अपने प्रोजेक्ट की शाखा में ट्रंक से नवीनतम परिवर्तनों को मर्ज करने की कोशिश कर रहा हूं, लेकिन समस्या यह है कि मुझे नहीं पता कि ट्रंक के संशोधन में मैंने क्या देखा है कि अंत में से शाखा बनाई मुझे लगता है कि एसवीएन ने इसे कहीं लॉग किया है। क्या कोई जानता है कि मुझे संशोधन संख्या कैसे मिल सकती है?ट्रंक में संशोधन ढूंढें कि एक शाखा

+0

यदि आप svn 1.5 या बाद में उपयोग कर रहे हैं, तो आपको विलय करने के लिए इस संशोधन संख्या को जानने की आवश्यकता नहीं है। 'svn विलय ^/ट्रंक। 'इसे स्वयं के लिए समझ जाएगा। यदि ऐसा नहीं हो रहा है, तो आपको अपने भंडार को 'svnadmin अपग्रेड' करना पड़ सकता है। – slowdog

+0

हम्म ... उपclipse प्रारंभ संशोधन के लिए पूछता है, मुझे यह देखना होगा कि यह – Andy

उत्तर

67

कमांड लाइन से, --stop-ऑन-प्रति झंडा जहां से एक शाखा की नकल की शो आप मदद करने के लिए इस्तेमाल किया जा सकता

Changed paths: 
    A /branches/feature (from /trunk:1234) 
+0

आह आदमी। मेरी इच्छा है कि "एन प्रतियों पर रोकें" विकल्प था! उन्हें मैन्युअल रूप से पार करना होगा। धन्यवाद! – Andy

+0

मुझे लगता है कि एक एसवीएन चाल को "प्रतिलिपि" के रूप में उठाया जाएगा ... क्योंकि यह एक प्रतिलिपि है और एक शॉट में हटा दिया जाता है। तो यदि आप एक शाखा बनाते हैं, और उसके बाद इसका नाम बदलते हैं (नाम बदलने के लिए कछुआ कमांड के रूप में नाम बदलें), तो यह "इस शाखा को कब शुरू किया जाएगा" फेंक देगा? डेटा। मैं केवल इसका जिक्र करता हूं क्योंकि "नाम बदलें" "बनाना" जैसा नहीं लगता है ...... दुख की बात है कि मैंने इसे कठिन तरीके से सीखा। – granadaCoder

12

क्या आप TortoiseSvn या कमांड लाइन का उपयोग कर रहे हैं?

कमांड लाइन: svn log --stop-on-copy और फिर सबसे छोटी पुनरावृत्ति संख्या देखें।

कछुआ SVN: right-click, tortoise-svn, show log, make sure 'stop on copy' is *checked* and press refresh. Scroll to the bottom and find the smallest rev number. enter image description here

+0

वास्तव में एक विलय कर सकता है, वास्तव में मैं उपclipse – Andy

+1

का उपयोग कर रहा था पूरी तरह से सही नहीं। शाखा बनाते समय आप निर्दिष्ट कर सकते हैं कि शाखा किस आधार पर आधारित है (उपयोग-आर) - उदाहरण के लिए। 'svn copy -r 1234 svn: //foo.com/trunk svn: // foo.com/शाखा/b1'। बेस संशोधन जरूरी नहीं है जिस पर शाखा बनाई गई थी। @ richq का जवाब दिखाता है कि इसे सही तरीके से कैसे प्राप्त किया जाए। – harmic

2

आप svn copy का उपयोग किया है बनाने के लिए एक tag/branch, तो svn log जहां शाखा में अपना सामान प्रतिलिपि बनाई गई थी से आप बता सकते हैं। उदाहरण के लिए, मान लें कि हमारे पास svn://svn/trunk/foo है और हमने एक शाखा svn://svn/branches/super_foo बनाई है। svn log -v svn://svn/branches/super_foo चलाएं, यह आपको इस तरह कुछ बताएगा - /branches/super_foo from /trunk/foo:22890, जिसका अर्थ है कि आपने अपनी शाखा में ट्रंक के संशोधन 228 9 0 की प्रतिलिपि बनाई है।

svn log --verbose --stop-on-copy $REPOSITORY/branches/feature 

अंतिम पंक्ति की कुछ इस तरह कहेंगे:

0

कॉर्नरस्टोन ऐप के लिए, यह देखने के लिए कि टैग या शाखा कहां से उत्पन्न हुई, समय रेखा में देखें।

9

शायद थोड़ा देर हो चुकी है लेकिन।

आप शाखा में वर्तमान में कर रहे हैं आप चला सकते हैं:

svn log -r 1:HEAD --limit 1 --stop-on-copy 

यह शाखा अर्थात जब आप इसे बनाया के पहले संशोधन प्रदर्शित करता है।

+0

यह सही उत्तर है। यह हजारों बेकार संशोधनों को सूचीबद्ध नहीं करता है, केवल अंतिम को देखने के लिए। – bobbogo

+1

मैं उपर्युक्त आदेश में '-v' विकल्प जोड़ने का सुझाव देना चाहता हूं ताकि आप '(पथ: rev) से संदेश प्राप्त कर सकें। –

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