2009-07-25 12 views
5

कभी-कभी जब आप अपनी स्थानीय प्रतिलिपि के साथ काम कर रहे हों तो आपके पास कॉन्फ़िगरेशन सेटिंग्स संग्रहीत हो सकती हैं जिन्हें आप प्रतिबद्ध नहीं करना चाहते हैं और फ़ाइल को अनदेखा करने के लिए अव्यवहारिक है क्योंकि इसमें एप्लिकेशन विशिष्ट सेटिंग्स भी शामिल हैं।सबवर्सन प्रतिबद्ध करने से पहले आप अपने स्रोत को कैसे स्वच्छ करते हैं?

उदाहरण के लिए, एक Django settings.py फ़ाइल में डेटाबेस कनेक्शन विवरण और प्रोजेक्ट सेटिंग्स दोनों शामिल हैं, जैसे कि कौन से अनुप्रयोग लोड करना है।

क्या वे इस प्रकार की फाइलों को स्वच्छ करने के लिए एक तरीका है? और फिर चेकआउट के दौरान अपनी स्थानीय सेटिंग्स को पुनर्स्थापित करने का कोई तरीका है?

मेरे वर्तमान वातावरण लिनक्स और कमांड लाइन तोड़फोड़

उत्तर

8

इस समस्या को हल करने का एक तरीका है "मानक" कॉन्फ़िगरेशन फ़ाइल को एक अलग फ़ाइल में पूरी तरह से रखना, जैसे कि settings.py.example। अपनी कार्यशील प्रति में, आप settings.py.example से settings.py कॉपी करेंगे और प्रतिलिपि के साथ काम करेंगे। यदि आपको मानक कॉन्फ़िगरेशन में बदलाव करने की आवश्यकता है, तो settings.py.example बदलें और इसे चेक करें। अन्यथा, आपको इसे बदलने की आवश्यकता नहीं होगी, और आपके संशोधित settings.py संस्करण नियंत्रण में भी नहीं है, इसलिए यह ध्यान नहीं दिया जाता है (आप svn:ignore संपत्ति में इसे और भी शांत बनाने के लिए इसे शामिल कर सकते हैं)।

+0

धन्यवाद ग्रेग। कभी-कभी समाधान इतना स्पष्ट होता है कि आप सोचते हैं कि आपने इसे क्यों नहीं सोचा था;) –

2

मैं उपेक्षा-ऑन-प्रतिबद्ध परिवर्तन सूची का उपयोग करें।

हालांकि यह TortoiseSVN के लिए विशिष्ट प्रतीत होता है। कमांड लाइन पर उपलब्ध नहीं हो सकता है।

2

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

विकास देव कॉन्फ़िगरेशन को इंगित करता है (हालांकि आप ऐसा करने का विकल्प चुनते हैं)। स्वचालित परीक्षण देव या UAT कॉन्फ़िगरेशन (परियोजना आदि के आधार पर)

साथ ही, मैं उन कॉन्फ़िगरेशन लोड हो रहा है करने के लिए अपने घर निर्देशिका पहले जाँच करने के लिए अपने सिस्टम की स्थापना द्वारा ओवरराइड करने के लिए एक साधन प्रदान बंद चलेंगे, और मैं यह कर सकते हैं ओवरराइड प्रदान करें जो वास्तव में व्यक्तिगत हैं। अक्सर ओवरराइडिंग कॉन्फ़िगरेशन केवल चर के उप-समूह को निर्दिष्ट करेंगे, इसलिए dev/UAT/prod configs बदल सकते हैं और बढ़ सकते हैं, और मेरी व्यक्तिगत कॉन्फ़िगरेशन को परिवर्तनों को ट्रैक करने की आवश्यकता नहीं है। मेरे व्यक्तिगत ओवरराइड एसवीएन या इसी तरह के माध्यम से नियंत्रित नहीं होते हैं, क्योंकि यह विशेष है कि मैं उस विशेष समय पर क्या कर रहा हूं।

+0

यह सुनिश्चित नहीं था कि यूएटी क्या था। इसे देखा - क्या यह उपयोगकर्ता स्वीकृति परीक्षण है? –

+0

हां। तो कोड देव/परीक्षण से यूएटी तक उत्पादन में माइग्रेट होगा –

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

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