मान लें कि तोड़फोड़ के नियंत्रण में एक निर्देशिका है, कि कुछ फ़ाइलें और उप निर्देशिकाओं की टन, उस तरह शामिल हैं:एसवीएन: क्या आप केवल स्थानीय चेकआउट से निर्देशिका हटा सकते हैं (भंडार से नहीं)?
file1.txt
file2.txt
file3.txt
dir1/
dir2/
dir3/
dir4/
:
dirXX/
अब आप फ़ाइलों और dirs में से कुछ है, लेकिन उनमें से सभी की जरूरत है। यह एसवीएन के साथ किया जा सकता है। बस चेकआउट गैर-रिकर्सिव बनाएं:
svn checkout -N <URL>
यह केवल पहली निर्देशिका और फ़ाइलों को अंदर से जांचता है। कोई उपनिर्देशिका शामिल नहीं हैं। यहां तक कि यदि आप चेकआउट निर्देशिका में जाते हैं और "svn up
" चलाते हैं, तो यह केवल पहले चेक की गई फ़ाइलों को अपडेट करेगा, यह निर्देशिका को नहीं जोड़ देगा। अब आप उन निर्देशिकाओं को चुनिंदा रूप से जोड़ सकते हैं जिन्हें आपको स्पष्ट रूप से अपडेट करके आवश्यक है। जैसे यदि आप dir2 और केवल dir4 की जरूरत है, आप चेकआउट निर्देशिका में जाकर
svn up dir2
svn up dir4
निष्पादित आप एक सामान्य "svn up
" भविष्य में, यह केवल फाइलों और उन दो निर्देशिका अद्यतन करेगा चलाते हैं कर सकते हैं, ऐसा नहीं होगा अन्य निर्देशिकाओं में से कोई भी जोड़ें।
अब समस्या: क्या होगा यदि मैं किसी भी बाद के बिंदु पर फैसला करता हूं कि मुझे अब dir2 की आवश्यकता नहीं है? मुझे इससे छुटकारा कैसे मिलेगा? ऐसा करने का कोई तरीका नहीं है, पूरे चेकआउट को हटाने और स्क्रैच से शुरू करने के अलावा।
जब आप सिर्फ dir2 को हटाते हैं, तो अगले "svn up
" इसे वापस लाएगा, क्योंकि "svn status
" निश्चित रूप से इसे अब गायब ("!" इसके नाम के सामने) दिखाता है। "svn remove
" चलाना निश्चित रूप से इसे हटा देगा, लेकिन अगली प्रतिबद्धता पर यह इसे भंडार से भी हटा देगा, जो नहीं होना चाहिए।
सबवर्सन उथले checkouts के 1.5 के कार्यान्वयन अच्छा है, लेकिन समर्थन की एक जोड़ी नहीं करता है:
यहां तक कि नए विरल निर्देशिका ("उथले चेकआउट") SVN 1.5 की सुविधा यहाँ किसी काम का नहीं है दिलचस्प व्यवहार। सबसे पहले, आप डी-टेलीस्कोप एक कार्यशील प्रति आइटम नहीं कर सकते हैं। एसवीएन अपडेट --सेट-गहराई खाली एक अनंत गहराई से काम करने वाली प्रतिलिपि में को छोड़ने का प्रभाव नहीं है, लेकिन शीर्ष निर्देशिका - यह बस त्रुटि होगी।
- http://svnbook.red-bean.com/en/1.5/svn.advanced.sparsedirs.html
SVN के साथ इस पूरी असंभव है? कोई भी कभी चतुर काम के साथ आया था-उस दौर में?
बस चेकआउट निर्देशिका (एसवीएन के बिना) बनाना और फिर सीधे रजिस्ट्री से व्यक्तिगत उपनिर्देशिकाएं जांचना क्योंकि इस निर्देशिका में उपनिर्देशिका निर्देशिकाओं के लिए काम करेगी: अब प्रत्येक निर्देशिका स्वयं का चेकआउट है, इसे अपडेट किया जा सकता है और एक बार अब और आवश्यकता नहीं है, आप इसे हटा सकते हैं। हालांकि, मैं फ़ाइलों को तब कैसे प्राप्त करूं (उदा। File1.txt)? एसवीएन अलग-अलग फाइलों की जांच करने की अनुमति नहीं देता है, आप केवल संपूर्ण निर्देशिकाओं को चेकआउट कर सकते हैं।
मुझे लगता है कि यह इन दोनों के रूप में ही सवाल यह है: http://stackoverflow.com/questions/ 862950/सबवर्सन-रोक-स्थानीय-संशोधनों-से-एक-फ़ाइल-से-होने-प्रतिबद्ध, http: // stackoverflow।कॉम/प्रश्न/635446/svn-is-there-a-way-to-mark-a-file-as-do-not-commit –
@ire_and_curses: सबसे पहले, आप इसे उत्तर के रूप में क्यों नहीं लिखते? दूसरा: ये दो प्रश्न कुछ करने से रोकने के बारे में हैं। इसमें मेरी समस्या से बिल्कुल कुछ लेना देना नहीं है। यहां तक कि अगर मैं निर्देशिका पर svn हटा देता हूं और इसे कम करने से रोकता हूं, तो निर्देशिका दूर नहीं जाएगी। क्या आपने मेरा प्रश्न या सिर्फ शीर्षक पढ़ा है? – Mecki
@ मेकी: मैंने आपका प्रश्न पढ़ा, हालांकि मैं जल्दी में प्रवेश करता हूं। मैंने सोचा * आप पूछ रहे थे कि स्थानीय प्रतिलिपि में संस्करण-नियंत्रित डीआईआर को रिपोजिटरी संस्करण को प्रभावित किए बिना, और अगले अपडेट में डीआईआर वापस प्राप्त किए बिना। यद्यपि मैंने यह कोशिश नहीं की है, ऐसा लगता है कि सबकुछ बनाने के लिए एक चेंजलिस्ट का सदस्य ठीक वही करेगा। मैंने इसे एक उत्तर के रूप में नहीं लिखा क्योंकि यह दोनों अन्य प्रश्नों में पहले से मौजूद है (जो मैंने सोचा था) - अगर मैं सही था, तो मैं किसी और के काम के लिए प्रतिनिधि बनूंगा। क्षमा करें अगर यह आपके लिए उपयोग नहीं है। –