2012-01-30 8 views
20

मैंने हाल ही में अपने एसवीएन क्लाइंट को 1.6.9 से 1.7.2 तक अपग्रेड किया और नए प्रारूप में कनवर्ट करने के बाद, मैंने देखा कि अब प्रत्येक सब-फ़ोल्डरों में एसएसएनएन नहीं है। मेरे विशेष विन्यास के लिए यह बहुत सुविधाजनक नहीं है।एसवीएन अब सभी उप-फ़ोल्डरों में एसएसएन लिखता है?

क्या इसे पूर्ववत करने या पुराने व्यवहार पर वापस जाने का कोई तरीका है जहां एक सीओ से प्रत्येक उपफोल्डर को एसएसवीएन होगा?

+0

मुझे एहसास है कि मेरा प्रश्न अस्पष्ट है लेकिन मैंने पूछने से पहले इसके लिए Google/bing खोज करने की कोशिश की लेकिन कुछ भी प्रासंगिक नहीं मिला। किसी भी मदद या पॉइंटर्स की सराहना की जाएगी। – MikeJ

+16

एसवीएन का कौन सा हिस्सा आप हर जगह सुविधाजनक एसएसएन फ़ोल्डर्स बनाने का दुरुपयोग कर रहे हैं? – Collin

+1

आप हमेशा अपने एसवीएन क्लाइंट को डाउनग्रेड कर सकते हैं (मुझे लगता है कि आपको इसे हटाना होगा और पुराने संस्करण को इंस्टॉल करना होगा, फिर संभवतः अपने भंडार को फिर से प्राप्त करना होगा (क्योंकि यह संभवतः पिछड़ा संगत नहीं है)। – tjarratt

उत्तर

38

सबवर्जन 1.7 में सबवर्जन की वर्किंग कॉपी मेटाडेटा प्रबंधन प्रणाली, डब्ल्यूसी-एनजी नामक कोड की एक पूर्ण पुन: लिखने की सुविधा है। पुरानी प्रणाली सबवर्सन के पहले हिस्सों में से एक थी, और समय के साथ बनाए रखने और विस्तार करने में मुश्किल हो गई थी। डब्ल्यूसी-एनजी का उद्देश्य तत्काल प्रदर्शन सुधार प्रदान करना है, जबकि भविष्य में कई सुधारों को भी सक्षम करना है।

सबवर्जन 1.7 में पेश किए गए परिवर्तनों की एक प्रमुख विशेषता एक ही स्थान पर कार्यशील प्रति मेटाडेटा संग्रहण का केंद्रीकरण है। कार्यशील प्रतिलिपि में प्रत्येक निर्देशिका में .svn निर्देशिका के बजाय, सबवर्जन 1.7 कार्यशील प्रतियों में कार्यशील प्रति की जड़ में केवल एक .svn निर्देशिका है। इस निर्देशिका में (अन्य चीजों के साथ) एक SQLite- समर्थित डेटाबेस शामिल है जिसमें उस कामकाजी प्रतिलिपि के लिए सभी मेटाडेटा सबवर्जन आवश्यकताएं शामिल हैं।

हालांकि डेटा संरचित प्रारूप में संग्रहीत है, डेटा के बीच संबंध जटिल हैं। हम इस डेटाबेस में रखे गए डेटा को संशोधित करने से बाहरी उपकरणों को अत्यधिक हतोत्साहित करते हैं, क्योंकि इस तरह के संशोधन की कार्यशील भ्रष्टाचार में परिणाम होने की संभावना है।

Read more here.

+5

-1: यह उत्तर प्रश्न का मुख्य हिस्सा है, "प्रश्न का मुख्य भाग है (" क्या पुराने उपक्रम पर वापस जाने का कोई तरीका है जहां प्रत्येक सबफ़ोल्डर के पास .svn होगा? ") को अनदेखा किया जाता है। – Wizard79

+10

@Lorenzo मुझे लगता है कि लोगों को प्रदान किए गए पाठ से "नहीं" पढ़ने में सक्षम होना चाहिए। – JPuge

2

सबसे सरल तरीका तोड़फोड़ .svn निर्देशिका को लिखने के लिए में हर निर्देशिका 1.7 श्रृंखला से पहले एक संस्करण के लिए अपने तोड़फोड़ डाउनग्रेड करने के लिए है पाने के लिए। Subversion 1.6.23 आपके इच्छित व्यवहार के लिए अंतिम संस्करण था।

इसे पूरा करने का एक और तरीका है जो सबवर्जन 1.7 के साथ काम करेगा और बाद में व्यक्तिगत रूप से आपकी परियोजना की प्रत्येक उपनिर्देशिका को जांचना है।

mkdir project 
cd project 
svn co svn+ssh://[email protected]/src/project/bin 
svn co svn+ssh://[email protected]/src/project/etc 

यह केवल संतोषजनक यदि आप कुछ निर्देशिकाओं और उनके संगठन है: आप की तरह कुछ करने से यह बाहर की जाँच कर सकता है

project 
`- bin 
`- etc 

: उदाहरण के लिए, अगर आप की तरह एक निर्देशिका संरचना के साथ एक परियोजना के लिए किया था उथला है

अन्यथा, पुराने विचलन को डाउनग्रेड करना आपकी सबसे अच्छी शर्त है।