2011-05-16 15 views
16

जीआईटी के बारे में मुझे पसंद की जाने वाली चीज़ों में से एक यह है कि आप फ़ाइल में केवल कुछ बदलाव कर सकते हैं। उदाहरण के लिए यदि आप दो अलग-अलग बदलाव कर रहे थे जिसमें एक ही फाइल शामिल थी, तो आप फ़ाइल को अलग-अलग टिप्पणियों के साथ दो अलग-अलग कामों के रूप में प्रतिबद्ध कर सकते हैं।एसवीएन - केवल कुछ बदलाव करें

तरह:

मैं सारा दिन बिताया एहसास है कि पिछले दिनों में परिवर्तन नहीं किया गया था करता है से पहले एक फाइल पर काम कर रहा है, मैं जो लाइनों मैं प्रतिबद्ध में शामिल करना चाहते हैं का चयन करके कर सकते हैं:

Login.php [246]: previous changes 
Login.php [247]: new changes 

मुझे एहसास है कि यह क्षमता इसलिए है क्योंकि जीआईटी में परिवर्तन एक डीआईएफएफ है, जबकि एसवीएन बस एक पूरी फाइल करता है। क्या एसवीएन के साथ समान व्यवहार होना संभव है?

यदि SmartSVN विशिष्ट हैक है तो यह ठीक है क्योंकि हम यही उपयोग करते हैं। Git-svn

+2

Git से परिचित नहीं उन लोगों के लिए, 'Git जोड़ने -p' आप दे देंगे एक कलर-कोडेड सभी लाइन-दर-लाइन परिवर्तनों का अंतर और आपको पूछता है कि कौन से परिवर्तन प्रतिबद्ध हैं। –

उत्तर

6

का प्रयोग करें, मुझे नहीं लगता कि SVN इस समर्थन, या बल्कि SVN ग्राहकों के किसी भी Git-SVN से अलग करना या यहां तक ​​कि hgsubversion


कुछ शेख़ी है है:

मैं ऐसा नहीं लगता कि आप इसके लिए पूछने का कारण उचित है। इसका मतलब है कि आपको परिवर्तन करने और प्रतिबद्ध करने के तरीके को बदलना होगा। कारण मैं इस तरह की सुविधा चाहता हूं निम्नलिखित कारणों से है:

कहें कि एक बिल्ड फ़ाइल है। बिल्ड सर्वर में कार्यों का एक निश्चित सेट किया जाना है। मेरे स्थानीय बॉक्स के लिए, मैं उस भाग को टिप्पणी करता हूं जहां यह इंस्टॉलर उत्पन्न करता है क्योंकि मुझे देव बॉक्स पर ऐसा करने की आवश्यकता नहीं है। अब अगर मैं कभी-कभी इस बिल्ड फ़ाइल में बदलाव करना चाहता हूं, तो मुझे उस हिस्से को पूर्ववत करना होगा जहां मैंने इंस्टॉलर पीढ़ी को हटा दिया और मेरा दूसरा परिवर्तन किया। इस मामले में, मुझे दूसरे बदलाव को चुनने और अकेले प्रतिबद्ध करने की क्षमता होगी।

+0

मैंने ऐसा क्यों नहीं सोचा था! :-) धन्यवाद। यहां इस सेटअप का उपयोग करने में रुचि रखने वाले किसी के लिए उपयोगी पठन है: http://www.viget.com/extend/effectively-using-git-with-subversion/ – Nippysaurus

2

मैं अपने आप को इस प्रयास नहीं किया है, लेकिन के रूप में यदि आप अब इस का उपयोग करते हुए कछुआ SVN क्या कर सकते हैं यह लग रहा है: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-commit.html#tsvn-dug-commit-restore

+0

यह स्पष्ट रूप से TortoiseSVN v1.8 में जोड़ा गया था: http: // tortoisesvn.net/tsvn_1.8_releasenotes.html#commitparts – moloko

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