2010-06-08 13 views
5

मुझे नहीं पता कि यह कैसा हुआ, लेकिन मेरे पास मेरे भंडार में ".svn" निर्देशिका संस्करण है। मुझसे मत पूछो कि यह वहां कैसे पहुंचा। यदि मैं svn को इसे हटाने के लिए कहता हूं, तो यह नहीं चाहता है, क्योंकि .svn एक आरक्षित तर्क है।उपversण: संस्करण ".svn" निर्देशिका से छुटकारा पा रहा है

बल काम नहीं करता है।

कोई विचार?

संपादित करें:। ठीक है, मैं मूल निर्देशिका ing करें और फिर से जोड़ने svn rm द्वारा इसे हल

फिर भी, किसी को यह करने के लिए स्वच्छ समाधान जानता है, यह अत्यधिक सराहना की जाएगी।

स्पष्टीकरण:

svn delete <repo url>/foo/.svn 

काम नहीं करता। मुझे लगता है कि मैंने आदेशों और तर्कों के हर सरल संयोजन की कोशिश की। मुझे पूरा यकीन है कि अगर यह करने योग्य है, तो यह एक हैक है। मुझे विधि के बारे में पता है: डंप -> उपकरण के साथ डंप संशोधित करें -> reimport लेकिन यह नरक के रूप में डरावना है। यह गिट नहीं है, अगर आप एक svn repo whack, आप/यह whacked रहता है।

+2

"मुझसे मत पूछो कि यह वहां कैसे पहुंचा।" खैर, 'svn log' आपको बताएगा। – sbi

+0

यह एक अच्छा विचार है। 'svn log -v' मुझे बताता है कि इसे जोड़ा गया था। इससे ज्यादा नहीं मिलना चाहिए। अपनी मूल निर्देशिका पर 'svn add' किया होगा। हालांकि यह अभी भी अजीब है, क्योंकि svn जोड़ आमतौर पर मौजूदा .svn निर्देशिकाओं के बारे में बताता है या शिकायत करता है। – AndreasT

+1

यहां, 'svn log' यह भी कहता है कि इसे किसने जोड़ा, कब, और उसी प्रतिबद्धता में और क्या किया गया। यह आमतौर पर समझने के लिए पर्याप्त है कि किसने किया था। ':)' – sbi

उत्तर

2

"SVN rm" ठीक से काम करने लगता है, मैं सिर्फ यह कोशिश की (SVN 1.6.5 का उपयोग कर, मैक ओएस एक्स):

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/.svn/ 
foo/.svn/baz 
foo/bar/ 
foo/bar/baz 

$ svn rm -m 'Yes it works.' file:///xxx/testrepo/foo/.svn 
Committed revision 6. 

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/bar/ 
foo/bar/baz 

तुम भी उपयोग कर सकते हैं "SVN mv", कोई जरूरत नहीं कुछ भी हटाने के लिए:

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/.svn/ 
foo/.svn/baz 
foo/bar/ 
foo/bar/baz 

$ svn mv -m 'Rename works too.' file:///xxx/testrepo/foo/.svn \ 
    file:///xxx/testrepo/foo/dotsvn 
Committed revision 8. 

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/bar/ 
foo/bar/baz 
foo/dotsvn/ 
foo/dotsvn/baz 

पीएस। Svn भंडारों में ".svn" निर्देशिका बनाना आसान है: URL के साथ svn cp या svn mv का उपयोग करें।

0

बस svn delete यह भंडार सीधे, उदाहरण के लिए, से

svn rm -m "removing checked-in .svn" http://myserver/svn/repo/trunk/dir/.svn

तो सही संस्करण को पुनः प्राप्त करने के लिए अपने स्थानीय कॉपी और svn update को हटा दें। एक यूआरएल के साथ

+0

यह काम नहीं करता है क्योंकि svn डिलीट पैरामीटर के रूप में एसएसएन स्वीकार नहीं करता है। मेरे प्रश्न पाठ में "अगर मैं इसे हटाने के लिए svn कहता हूं ..." का यही अर्थ है। – AndreasT

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