2008-12-28 12 views
8

मैं सबवर्जन (तुलना नियमों से परे!) के साथ एक बाहरी diff टूल का उपयोग करता हूं, और इनमें से एक बड़ी सुविधा फ़ाइल में कुछ मामूली संपादन करने के लिए diff प्रोग्राम का उपयोग करने में सक्षम है क्योंकि मैं अपने द्वारा किए गए परिवर्तनों की समीक्षा कर रहा हूं ।कभी-कभी svn diff क्यों काम करता है फ़ाइलों को एक temp फ़ाइल में कॉपी करता है?

लेकिन svn diff मेरी विभिन्न परियोजनाओं पर अलग-अलग काम करता है। कुल मिलाकर, बाएं हाथ की फ़ाइल एक अस्थायी फ़ाइल है जिसमें सबवर्सन (हेड) में संग्रहीत नवीनतम संशोधन शामिल है। लेकिन कुछ में, दायां हाथ फ़ाइल वास्तविक काम करने वाली फ़ाइल है, जबकि अन्य में यह काम करने वाली फ़ाइल की एक अस्थायी फ़ाइल प्रति है। पहले मामले में, मैं diff प्रोग्राम में बदलाव कर सकता हूं और वे कार्यशील प्रति को प्रभावित करते हैं। दूसरे मामले में, मैं एक अस्थायी फ़ाइल संपादित कर रहा हूं, इसलिए परिवर्तन गुम हो गए हैं।

सबवर्सन कभी-कभी काम करने वाली फ़ाइल के खिलाफ क्यों भिन्न होता है लेकिन कभी-कभी काम करने वाली फ़ाइल की अस्थायी प्रतिलिपि के खिलाफ क्यों होता है? मैं इसे हमेशा काम करने वाली फ़ाइल का उपयोग कैसे कर सकता हूं?

उत्तर

11

क्या आपके पास कोई भी svn है: कीवर्ड उन फ़ाइलों पर सेट है? यदि हां, तो सबवर्जन पहले एक अस्थायी फ़ाइल तैयार करेगा जिसमें उन सभी विस्तारित कीवर्ड 'अनपेक्षित' होंगे। यह सभी कीवर्ड लाइनों को अलग-अलग दिखाए जाने से बचने के लिए है, भले ही वे नहीं बदला गया हो।

उदाहरण के लिए, यदि आप BASE के खिलाफ अपनी कार्यशील प्रतिलिपि में एक फ़ाइल को अलग करते हैं, तो बेस फ़ाइल में कोई कीवर्ड विस्तार नहीं होता है (और एलएफ लाइनिंग के साथ भी संग्रहीत किया जाता है), जबकि आपकी कार्यशील प्रति में फ़ाइल में सभी कीवर्ड विस्तारित होते हैं (और हो सकता है सीआरएलएफ लाइनिंग के साथ संग्रहीत किया जाना चाहिए)। यदि आपने स्थानीय रूप से उस फ़ाइल को संशोधित नहीं किया है, तो 'svn diff' सभी पंक्तियों को अलग-अलग दिखाएगा (यदि लाइन समाप्ति मेल नहीं खाती है) या कम से कम सभी पंक्तियों को कीवर्ड के साथ दिखाया जाएगा - जो आप नहीं हैं उम्मीद करेंगे।

+0

यह svn था: कीवर्ड संपत्ति! धन्यवाद। –

+0

अंततः इसे समझ लिया! Svn: eol-style property के साथ एक ही समस्या थी। – ocarlsen

0

शायद कुछ पहुंच समस्याएं हैं। फ़ाइल को केवल पढ़ने के लिए सेट करने का प्रयास करें, यदि svn अब एक temp फ़ाइल खोलता है, तो यह आपके प्रश्न का एक संभावित उत्तर है। इस मामले में, शायद आपके द्वारा उपयोग किए जाने वाले कुछ संपादक/आईडीई फ़ाइल को लिखते हैं-सुरक्षित करते हैं।

+0

अच्छा विचार है, लेकिन ऐसा लगता है कि फ़ाइल को खोलने वाली लेखन अनुमतियों या संपादकों के साथ ऐसा नहीं लगता है। –

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