2009-04-03 17 views
21

मेरे पास एक सेटिंग फ़ाइल है जो उपversण का उपयोग कर संस्करण नियंत्रण में है। हर किसी के पास इस फाइल की अपनी प्रति है, और मुझे इसकी आवश्यकता नहीं है कि वह कभी भी प्रतिबद्ध न हो। हालांकि, जैसा कि मैंने कहा, संस्करण नियंत्रण के तहत पहले से ही एक प्रति है। मेरा सवाल है: मैं इस फ़ाइल को हर किसी की फ़ाइल को हटाए बिना संस्करण नियंत्रण से कैसे हटा सकता हूं, फिर इसे अनदेखा सूची में जोड़ूं ताकि यह प्रतिबद्ध नहीं होगा? मैं linux कमांड लाइन svn का उपयोग कर रहा हूँ।एसवीएन: पहले से ही प्रतिबद्ध फ़ाइल को अनदेखा करना

+0

संभावित डुप्लिकेट [svn फ़ाइलों को हटाने के बिना अनदेखा करें?] (Http://stackoverflow.com/questions/951032/svn-ignore-without-deleting-files) – tchrist

उत्तर

20

फ़ाइल को क्लीन चेकआउट करें, svn delete फ़ाइल बनाएं और अनदेखा करें। फिर यह प्रतिबद्ध करें। हर किसी को देखभाल करना होगा (एक बार) कि उनकी स्थानीय प्रतिलिपि अगले svn update पर नहीं हटाई गई है, लेकिन उसके बाद, स्थानीय फाइल एसवीएन द्वारा अनियंत्रित और अनदेखा रहेगी।

+0

कैसे (जैसा कि "हर कोई") आप को रोकते हैं अद्यतन पर हटाएं? –

+0

अपडेट चलाने से पहले इसे हटाएं। इसे बाद में कॉपी करें। –

+1

ऐसा करने का कोई आसान तरीका कैसे नहीं है? क्या कोई समझा सकता है? – DaveS

15

यदि आप संस्करण नियंत्रण से फ़ाइल को हटाते हैं, तो प्रोजेक्ट के लिए कोई डेवलपर नया (या जिसने अपनी स्थानीय प्रतिलिपि को गलती से हटा दिया) प्रारंभिक चेकआउट के बाद इसे प्राप्त करता है? यदि सेटिंग्स फ़ाइल में अतिरिक्त हैं तो क्या होगा?

मैं निम्नलिखित सुझाव है: एक डिफ़ॉल्ट सेटिंग्स फ़ाइल SVN में (कोई पासवर्ड, होस्ट नामों, कनेक्शन तार, आदि के साथ), नाम यह कुछ settings.dist की तरह कोड काम इस की एक प्रति के साथ रखें, और करते हैं, settings नामित । प्रत्येक डेवलपर को एक बार यह प्रतिलिपि बनाना पड़ता है, और उसके बाद उसकी व्यक्तिगत सेटिंग्स के साथ काम कर सकता है। यदि अतिरिक्त हैं, तो उन्हें settings.dist पर जोड़ें - हर कोई उन्हें अपडेट के साथ ले जाएगा और फिर उसे अपनी व्यक्तिगत प्रतिलिपि में विलय कर सकता है।

0

बस उन सेटिंग्स वाली फ़ाइल को परिभाषित करें जो डिफ़ॉल्ट वाले को ओवरराइड करेंगे। इस फ़ाइल को सबवर्जन में चेक नहीं किया गया है और प्रत्येक डेवलपर इस फ़ाइल को अपने वातावरण के अनुसार बनाए रखने के लिए ज़िम्मेदार है।

एक चींटी आधारित दुनिया में, आप फ़ाइलों होगा:

settings.properties 
settings-local.properties (ignored for Subversion) 

और अपने build.xml फ़ाइल

<property file="settings-local.properties"/> 
<property file="settings.properties"/> 

में उन लोगों के लिए डॉट्स कनेक्ट नहीं हो सका है जो:

  1. build.xml फ़ाइल को संशोधित
  2. एस जैसे संशोधित करें एट नजरअंदाज कर दिया
  3. अपने निर्माण के init लक्ष्य में
  4. , कॉपी settings.properties रूप setting-local.properties settings-local.properties को
  5. कुछ दिनों के इंतजार जब तक हर कोई इस लक्ष्य को चलाने के लिए मौका था
  6. सबवर्सन

देखा से setting.properties हटाते हैं, तो हर डेवलपर अपनी ही setting-local.properties है और सब कुछ स्वचालित रूप से किया गया था (और कोई डेवलपर अपने या अपने सेटिंग्स खो दिया है, जो अगर तुम बेरहमी से फ़ाइल को नष्ट होता है उत्थान और कोई नहीं है "हर किसी को देखभाल करना होगा ...")

+0

समस्या को ठीक करने में मदद नहीं करता है हालांकि –

+0

विचित्र है कि यह उत्तर कई बार डाउन-वोट किया गया था, क्योंकि यह अकेला ही है जिसने हर किसी की स्थानीय फ़ाइल को हटाने के बारे में इस बात को अनदेखा नहीं किया है। –

-4

[[मैं उपversण के लिए नया हूं, इसलिए शायद यह समझ में नहीं आता है। इसे विकी के रूप में चिह्नित करना - यदि आपको सही उत्तर पता है, तो कृपया बाद के खंड] में APPEND देखें]

क्या आपके पास चेकआउट चरणों का एक कस्टम सेट नहीं हो सकता है ताकि प्रत्येक उपयोगकर्ता को एक अलग सेटिंग फ़ोल्डर मिल सके?

$ svn checkout http://example.com/project project 
.. 
$ dir project 
original_settings\  folder1\  folder2\ 
$ svn checkout http://example.com/project/aaron_settings project\settings 
.. 
$ dir project 
original_settings\  folder1\  folder2\ settings\ 

या के लिए नए उपयोगकर्ताओं

$ svn import project\settings http://example.com/project/aaron_settings 

क्या मैं पर हो रही है कि प्रत्येक उपयोगकर्ता के भंडार का एक कस्टम दृश्य करना चाहते है। अन्य संस्करण नियंत्रण प्रणालियों में, आप एक प्रोजेक्ट की एक कस्टम सूची सेट कर सकते हैं जिसका आप उपयोग कर रहे थे और जो आप नहीं थे और जो आपने अजीब जगहों पर रखा था।

क्या यह सबवर्सन में काम करता है? उपर्युक्त कोड वास्तव में जोखिम भरा दिखता है, लेकिन शायद मैं इसे गलत कर रहा हूं।

विकी:

(अभी तक कुछ भी नहीं)

1

आप फ़ाइल को नष्ट करने के बाद, अपने उपयोगकर्ताओं भंडार svn export का उपयोग करने से फ़ाइल को ठीक करना होगा।

$ svn export -r x path ./ 

कहाँ x एक संशोधन जहां फ़ाइल अस्तित्व में होने से पहले ही नष्ट कर दिया गया है, path फ़ाइल का पूर्ण पथ है, और ./ वह जगह है जहाँ फ़ाइल रखा जाएगा।

अधिक जानकारी के लिए svn help export देखें।

0

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

मैं इस भर में आया था, के बाद से इस सवाल का मूल रूप से 7.5 साल पहले पोस्ट किया गया एक नई सुविधा हो सकता है:

https://stackoverflow.com/a/6025750/779130

लगता है एक विचार की तरह होगा:

1) create a dump of the project. 
2) filter the dump using `svndumpfilter` to exclude the unwanted file(s). 
3) load the dump as a new project. 

यह पूरी तरह से फ़ाइल से छुटकारा पाने का एकमात्र तरीका हो सकता है। ज्यादातर मामलों में "हटाएं और अनदेखा करें" दृष्टिकोण काफी अच्छा हो सकता है।

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