2009-06-04 20 views
18

मैं अपने svn repo से फ़ाइलों को हटाए बिना फ़ाइलों को कैसे अनदेखा कर सकता हूं?svn फ़ाइलों को हटाने के बिना अनदेखा?

जब मैं मौजूदा परियोजनाओं पर काम करता हूं तो मुझे अक्सर परियोजना का स्थानीय संस्करण और मेरे स्थानीय डेटाबेस का उपयोग करना होगा। उदाहरण के लिए ड्रूपल के साथ, मैं svn repo चेकआउट करता हूं, सेटिंग्स को स्थानीय डेटाबेस से मेल खाने के लिए सेटिंग्स.एफपी फ़ाइल बदलता हूं, लेकिन अब मुझे यह सुनिश्चित करना होगा कि मैं सेटिंग्स फाइल को दोबारा नहीं करूँगा।

क्या कोई चालाक svn कमांड है जो इसे ठीक करेगा?

+0

यह प्रश्नोत्तर देखें: http://stackoverflow.com/questions/69448/how-do-i-keep-resharper-files-out-of-svn –

+0

http://stackoverflow.com/questions/862950 जैसे अधिक/subversion-prevent-local-modifications-to-one-file-from-being-commit –

+0

संभावित डुप्लीकेट: http://stackoverflow.com/questions/940057/in-subversion-how-can-i-un-hijack -ए-फाइल http://stackoverflow.com/questions/714307/svn-ignoring-an-already-committed-file – TJR

उत्तर

-1

SVN propedit SVN: उपेक्षा ./some_path

For details see this post.

+0

मैंने इसे आजमाया है, लेकिन सेटिंग्स फ़ाइल अभी भी –

+1

होगी, हां, यह स्थानीय-केवल फ़ाइल को अनदेखा करता है लेकिन पहले से ही रेपो में मौजूद फ़ाइल की ट्रैकिंग को रोकने के लिए कुछ भी नहीं करता है। – GalacticCowboy

+1

ओपी ने पहले ही कहा है कि वह * रेपो से फ़ाइल को हटाना नहीं चाहता है। svn: अनदेखा कुछ भी नहीं करता है अगर फ़ाइल रेपो में अभी भी मौजूद है। – Coderer

6

से SVN सहायता:

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

उत्तर है: उस फ़ाइल को संस्करण नियंत्रण के अंतर्गत रखें। इसके बजाय, फ़ाइल नियंत्रण के तहत फ़ाइल का टेम्पलेट डालें, "file.tmpl" जैसी कुछ।

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

+5

हाँ जो समस्या को ठीक करेगा, लेकिन सेटिंग्स फ़ाइल पहले से ही svn नियंत्रण में है, और मैं इसे बदलना नहीं चाहता क्योंकि मुझे इसे उत्पादन वातावरण में बदलना होगा, साथ ही मैं –

+1

उत्पादन फ़ाइल नहीं कर सकता अगर यह डेटाबेस के लिए कनेक्शन स्ट्रिंग जानकारी शामिल है तो स्रोत नियंत्रण में नहीं होगा। आपके निर्माण/तैनाती प्रक्रिया द्वारा बनाई गई फ़ाइल के लिए एक सिम्लिंक (स्रोत भंडार से अधिक सुरक्षित स्थान में) में अधिक सुरक्षित है। – Jeremy

+0

कृपया ध्यान रखें कि "चाहिए" एक क्रिया है जिसे "अनावश्यक रूप से परिपूर्ण दुनिया में" लागू करना चाहिए। सवाल यह था कि कार्यशील प्रतिलिपि फ़ाइलों को अनदेखा करने (इस प्रकार शारीरिक रूप से हटाने) की बजाय वास्तव में अनदेखा करने के तरीके के बारे में सवाल था। बीआईएन को अनदेखा और हटाया जा सकता है, लेकिन कॉन फाइलों को हटाया नहीं जा सकता है लेकिन काम के दौरान अनदेखा किया जाना चाहिए। – user3285866

1

".template" नामक फ़ाइल का संस्करण बनाएं और संस्करण नियंत्रण। जब आप चेकआउट का नाम बदलते हैं और संपादित करते हैं। फिर svn propedit svn का उपयोग करें: प्रतिलिपि को अनदेखा करने के लिए अनदेखा करें।

1

चेंजलिस्ट का उपयोग करने के लिए एक संभावित समाधान होगा। आप उन फ़ाइलों को समूहबद्ध कर सकते हैं जिन्हें आप चेंजलिस्ट में बदल रहे हैं, और फिर जब आप svn प्रतिबद्ध करते हैं, तो आप चेंजलिस्ट निर्दिष्ट करते हैं - फ़ाइलों को चेंजलिस्ट में नहीं प्रभावित होते हैं।

परिवर्तन सूची mathops.c integer.c
SVN परिवर्तन सूची गणित-फिक्स बनाने

परिवर्तन सूची में केवल वे फ़ाइलें प्रतिबद्ध
SVN ci मी "एक बग को ठीक करें।"

SVN: --changelist गणित-फिक्स

+0

यह बहुत सारे काम की तरह लगता है, मैं उन फ़ाइलों को निर्दिष्ट नहीं करना चाहता हूं जिन्हें मैंने बदला है, बल्कि फाइलें जो नहीं की जानी चाहिए, शायद मैं आपको गलत समझता हूं ... –

0

सबसे आसान तरीका है किसी भी निर्देशिका है कि आपके कॉन्फ़िग फ़ाइल शामिल करने के लिए जाने और उस पर एक गुण सेट करने के लिए है पर ध्यान न दें settings.php

यह जैसे- रहेगी सभी काम करता है और अद्यतन के माध्यम से है। आप कमांड इस तरह दिख सकते हैं:

$ svn propset svn: 'settings.php' को अनदेखा करें।/

+0

मैंने अभी इसका परीक्षण किया है। मैंने चेकआउट किया, svn प्रोपसेट svn का उपयोग कर एक फ़ाइल पर एक svn अनदेखा बैठे: 'readme' को अनदेखा करें ./ और फिर एक प्रतिबद्ध किया, लेकिन जब यह बदल गया है तो रीडेमे फ़ाइल अभी भी प्रतिबद्ध है। –

+2

svn: अनदेखा संस्करण नियंत्रण के तहत पहले से ही फाइलों पर काम नहीं करेगा – Muers

1

This answer आपकी टेम्पलेट फ़ाइल के साथ ignore-on-commit नामक परिवर्तक बनाने के बारे में वार्ता, यह केवल तभी काम करेगा जब आप TortoiseSVN का उपयोग कर रहे हों।

लेकिन फिर, यह प्रति उपयोगकर्ता सेटिंग है।

+0

यह "एक पूर्व-प्रतिबद्ध हुक स्क्रिप्ट बनाएं जो एक विशिष्ट संपत्ति को जोड़े जाने पर प्रतिबद्धता को अस्वीकार कर देता है। इसके बाद आप इस संपत्ति को काम करने में फ़ाइलों में जोड़ सकते हैं यदि आप कछुए एसवीएन का उपयोग नहीं करते हैं, तो काम करने से रोकने के लिए प्रतिलिपि बनाएँ – achecopar

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