2010-10-24 8 views
12

मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां सबवर्जन का उपयोग संस्करण नियंत्रण को बनाए रखने के लिए किया जाता है। मैं परियोजना भंडार तक पहुंचने के लिए TortoiseSVN का उपयोग करता हूं।मैं TortoiseSVN का उपयोग करके संशोधन के बीच diff से पैच कैसे बना सकता हूं?

किसी प्रोजेक्ट पर दो संशोधनों के बीच कुछ बदलाव किए गए थे (चलिए उन्हें rev1 और rev2 कहते हैं), और मैं इन परिवर्तनों को किसी कामकाजी प्रति में लागू करने में सक्षम होना चाहता हूं, जहां अस्थायी रूप से भंडार तक पहुंच नहीं है।

मैंने प्रोजेक्ट फ़ोल्डर पर राइट-क्लिक किया, 'एसवीएन शो लॉग' पर क्लिक किया, दो संशोधनों का चयन किया और 'एकीकृत अंतर के रूप में परिवर्तन दिखाएं' चुना।

इससे विंडो को दिखाया जा सकता है, जो आउटपुट प्रदर्शित करता है जो पैच फ़ाइल की तरह दिखता है जो मैं बचा सकता हूं। दुर्भाग्यवश, मुझे लगता है कि खिड़की में कोई विकल्प नहीं है जो मुझे इसे पैच फ़ाइल के रूप में सहेजने देता है।

मैं पैच फ़ाइल कैसे बना सकता हूं?

+1

बस सभी को चुनें, कॉपी करें, एक नए टेक्स्ट दस्तावेज़ में पेस्ट करें, .patch एक्सटेंशन से सहेजें, और फिर दूसरी ओर "पैच लागू करें" चुनें। (पथों से सावधान रहें - आवेदन करते समय सही फ़ोल्डर चुनें) –

उत्तर

7

TortoiseSVN (1.7.x) का अगला संस्करण उस सहेजने का विकल्प होगा। इस दौरान, आप अपने एकीकृत diff दर्शक के रूप में प्लेन टेक्स्ट एडिटर कॉन्फ़िगर कर सकते हैं:

Settings dialog->External Programs->Unified Diff Viewer 

वहाँ आप, उदाहरण के लिए, notepad.exe अपने diff दर्शक के रूप में निर्दिष्ट कर सकते हैं।

+0

मेरे पैच में बाइनरी फाइलें हैं, लेकिन टेक्स्ट फ़ाइल इन्हें प्रदर्शित नहीं कर रही थी। मुझे लगता है कि वे पैच में नहीं बचाए जाएंगे? –

+0

एकीकृत diff प्रारूप बाइनरी सामग्री को संभाल नहीं सकता है। यही कारण है कि वे पैच फ़ाइल में शामिल नहीं हैं (जो एकीकृत diff प्रारूप में है)। – Stefan

+2

क्या यह सुविधा अभी तक उपलब्ध है? हमें टोर्टोइज एसवीएन के किस संस्करण की आवश्यकता होगी? –

1

आपको लक्ष्य प्राप्त करने का एक तरीका है TortoiseSVN लॉग में संशोधन पर राइट क्लिक करना और "संशोधन को मर्ज करें ..." चुनें। फिर आप स्थानीय कामकाजी प्रोजेक्ट का चयन करते हैं और ठीक क्लिक करते हैं।