2010-11-09 16 views
9

में शामिल करता है मेरे पास एक प्रोजेक्ट में एक प्रोजेक्ट है। लोग जल्द ही इसे जांचना शुरू कर देंगे, उस पर काम करेंगे, फिर अपने बदलाव वापस कर देंगे। लेकिन उस परियोजना के भीतर एक फ़ाइल है (मेरे स्वयं के डिज़ाइन की विस्तृत कॉन्फ़िगरेशन फ़ाइल) कि हर किसी के पास बस एक प्रतिलिपि होनी चाहिए, लेकिन वे इसमें बदलाव करेंगे जिन्हें कभी भी वापस नहीं देखा जाना चाहिए (जिसे उन्हें कभी नहीं भेजा जाना चाहिए भंडार में वापस अद्यतन के माध्यम से)।svn एक फ़ाइल को अनदेखा करता है लेकिन इसे चेकआउट

तो, मैं चाहता हूं कि प्रत्येक उपयोगकर्ता जो इस कॉन्फ़िगरेशन फ़ाइल को प्राप्त करने के लिए प्रोजेक्ट को जांचता है, लेकिन फिर मैं इसे सभी कामों पर अनदेखा करना चाहता हूं।

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

मुझे आशा है कि मुझे बस गलत समझा जाएगा और समाधान एक आसान है।

क्या कोई मदद कर सकता है?

ओह, यदि संभव हो तो मुझे कमांड लाइन समाधान की आवश्यकता है। एसएसएच-केवल कनेक्शन के साथ हेडलेस लिनक्स बक्से पर बहुत सारे काम किए जाते हैं।

धन्यवाद!

EDIT: मैं cdhowie के उत्तर के साथ गया। एक टेम्पलेट कॉन्फ़िगरेशन फ़ाइल (उदाहरण के लिए app.config.template) बनाने के अलावा, जैसा कि वह सुझाता है, मैं वास्तविक कॉन्फ़िगरेशन फ़ाइल नाम (उदाहरण के लिए app.config) को अनदेखा करने के लिए "svn propedit svn: ignore" का भी उपयोग करता हूं।

उत्तर

11

आमतौर पर आप ऐसा करते हैं कि एक टेम्पलेट फ़ाइल प्रदान करके उपयोगकर्ता या स्क्रिप्ट उस स्थान पर कॉपी करेगी जहां यह संबंधित है। उस फ़ाइल को तब अनदेखा कर दिया जाएगा।

उदाहरण के लिए, कहें कि आपके पास app.config कॉन्फ़िगरेशन फ़ाइल के रूप में है। आप app.config.template या कुछ समान के रूप में अपना काम करेंगे। उपयोगकर्ताओं को विकास शुरू करने के लिए फ़ाइल की प्रतिलिपि बनाना और उनका नाम बदलना होगा। एसवीएन में app.config को नजरअंदाज कर दिया जाएगा।

यह अद्यतनों के लिए स्पष्ट रूप से काम नहीं करता है, लेकिन यह आपके लिए सबसे अच्छा है। एक अन्य विकल्प भंडार में एक्सेस प्रतिबंध सेट करना होगा ताकि app.config किसी और द्वारा बदला जा सके।

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

+0

धन्यवाद दोनों। तो मैं इन उत्तरों से क्या प्राप्त कर रहा हूं यह है कि अनदेखा फ़ाइल को चेकआउट के बाद svn के बाहर कुछ तंत्र द्वारा बनाया जाना चाहिए, और बस अपने "वास्तविक नाम" के साथ भंडार में नहीं हो सकता है, या यह देवताओं द्वारा किया जाएगा । –

+1

जब तक आप एक्सेस नियंत्रण प्रतिबंध जोड़ते हैं, हां। और यदि आप प्रतिबंध जोड़ते हैं, तो आपके देवताओं को शायद उनका पूरा चेकइन अस्वीकार नहीं करना पड़ेगा क्योंकि उन्होंने गलती से उस फ़ाइल को चुना है। – cdhowie

+0

@ जॉन: बिल्कुल। – SLaks

2

यदि आप मौजूद नहीं हैं तो फ़ाइल के प्रीसेट संस्करण को बनाने के लिए आप अपनी प्रोजेक्ट को संशोधित कर सकते हैं।

फ़ाइल तब एसवीएन में नहीं होगी, और प्रत्येक क्लाइंट इसे पहली बार कोड चलाएगा।

इसकी व्यवहार्यता इस बात पर निर्भर करती है कि आपकी परियोजना कैसे काम करती है और आप निष्पादन योग्य कोड कहां डाल सकते हैं।

3

असल में एक संस्करण वाली फ़ाइल पर 'अनदेखा' करने के लिए दो दृष्टिकोण हैं। 'टेम्पलेट' समाधान का पहले से ही @cdhowie द्वारा उल्लेख किया गया है। this पोस्ट में वर्णित अनुसार दूसरा दृष्टिकोण परिवर्तनीय का उपयोग करता है।

svn changelist ignore-on-commit file-you-want-to-add 
संबंधित मुद्दे