2010-03-01 9 views
27

Given:डंपफाइल से Svnadmin लोड "फ़ाइल त्रुटि नहीं मिली" का कारण बनता है। मदद?

Repository_1 - source

Repository_2 - destination

मैं svnadmin और svndumpfilter के संयोजन का उपयोग कर Repository_1/फ़ोल्डर 1 का एक डंप फ़ाइल बनाई

जब में Repository_1/फ़ोल्डर 1 से डंप फ़ाइल से लोड हो रहा है Repository_2/ट्रंक सब कुछ ठीक लेकिन

है

से लोड करते समय रिपोजिटरी_1/फ़ोल्डर 1/उप-फ़ोल्डर (इसके लिए एक और डंप बनाया गया) रिपोजिटरी_2/ट्रंक मुझे निम्न त्रुटि मिलती है:

svnadmin: File not found: transaction '267-89', path 'trunk/Folder1/Sub-folder' 

क्या कोई समझा सकता है?

उत्तर

34

गंतव्य में उस संरचना (खाली फ़ोल्डर) को पूर्व-निर्मित करने की आवश्यकता है। तो, यदि आप ऐसा करना चाहते हैं:

जब Repository_2/ट्रंक

you need to created this structure in svn

Repository_2/trunk/Folder1

टिप्पणी में Repository_1/फ़ोल्डर 1/उप-फ़ोल्डर (इस के लिए एक और डंप बनाया) से लोड हो रहा है: आप केवल माता-पिता बनाने की आवश्यकता है, फ़ोल्डर को ही नहीं, इसलिए रिपोजिटरी_2/ट्रंक/फ़ोल्डर 1/उप-फ़ोल्डर

+0

यह मेरी समस्या का हल। अनेक अनेक धन्यवाद। क्या आप इस समस्या को देख सकते हैं। http://stackoverflow.com/questions/28238863/include-multiple-folders-using-svndumpfilter –

1

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

इसे हल करने के लिए आपको एक प्रतिलिपि के स्रोत होने वाले डंप में सब कुछ शामिल करना सुनिश्चित करना होगा।

1

मैंने अभी इस त्रुटि का अनुभव किया है जिसे मैंने एक आरईसी के लिए खोजा है एंट सर्वर अपग्रेड और svnadmin dump/load चक्र। समस्या यह है कि मैं भी इसे में बनाया गया था के लिए एक अलग निर्देशिका में भंडार की स्थापना की थी

वर्ष मशीन पर, मैं svnserve चलाने के लिए inetd.conf उपयोग कर रहा था:।

svnserve -r /var/svn/main 

और भंडार था/var में/SVN/मुख्य

हालांकि नई मशीन पर मैं था inetd.conf/var/svn करने की ओर इशारा करते:

svnserve -r /var/svn 

मेरे पास पहले से पुराने सर्वर से चेकआउट था, इसलिए जब मैंने गंतव्य पथ को करने की कोशिश की तो अस्तित्व में नहीं था क्योंकि मैं गलती से यूआरएल में एक और घटक जोड़ता था, इसलिए svn://host/source/trunksvn://host/main/source/trunk बन गया।

मैं चारों ओर निर्देशिकाओं को ले जाकर यह तय किया जा सकता था, लेकिन मैं काम कर प्रति svn switch --relocate का उपयोग करने का यूआरएल के पुनर्लेखन के लिए बजाय चुना है।

नोट: यह देखने के लिए एक त्वरित निदान है कि यह समस्या है कि आप अपनी कार्यशील प्रतिलिपि में किसी निर्देशिका में बदलना चाहते हैं, svn info को रिपॉजिटरी URL प्राप्त करने के लिए टाइप करें और फिर svn ls <myUrl> टाइप करें। यदि यह No repository found त्रुटि देता है तो आप जानते हैं कि यह कारण है।

0

डंप लोड हो रहा है क्योंकि trunk/Folder1 निर्माण svndumpfilter द्वारा फ़िल्टर किया गया था।

Node-path: trunk/Folder1 
Node-action: add 
Node-kind: dir 
Prop-content-length: 10 
Content-length: 10 
PROPS-END 

यह ब्लॉक:

आप ट्रंक बना सकते हैं/फ़ोल्डर 1 डंप में, संपादन डंप ही है और पहले संशोधन के लिए निम्न खंड जोड़ें द्वारा: this blog post के अनुसार, इन चरणों का डंप पर की जरूरत है पहले संशोधन के प्रोप ब्लॉक में डाला जाना चाहिए।

फिर डंप svnadmin के साथ लोड किया जा सकता है।

1

जैसा कि this thread में उल्लेख किया गया है, svnrdumpsvndump से अलग-अलग काम करता है।

svndump + svndumpfilter:

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

svnrdump:

  • एक आत्म-संगत डंपफाइल उत्पन्न करता है।
  • यदि आप svndumpfilter include के समतुल्य करना चाहते हैं तो एक उपपथ की आवश्यकता है। उदाहरण के लिए, svnrdump https://server.example.com/svn/repo/branches/1.4 /branches/1.4 को प्रभावित करने वाले सभी संशोधनों को पकड़ लेगा।
  • एक अतिरिक्त | svndumpfilter include/--drop-all-empty-revs --renumber-revs की आवश्यकता हो सकती।

नीचे पंक्ति: svnrdump शायद बेहतर काम करेगा।

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