2010-09-09 15 views
9

मैं https://myserver.com/svn/Project/trunk/ से एक स्तर ऊपर करने के लिए SVN फ़ोल्डर ले जाने और रखने के सभी इतिहासSVN फ़ोल्डर एक स्तर ऊपर ले जाने के लिए कैसे

सभी फ़ाइलें और निर्देशिका https://myserver/svn/Project/

में करने की जरूरत है मैं का उपयोग एक कमांड:

svn move https://myserver.com/svn/Project/trunk/ https://myserver/svn/Project/ 

लेकिन यह कहते हैं:

SVN: 'पथ नहीं बदला जा सकता https://myserver.com/svn/Project/trunk/ ' में ही

कौन जानता है कि कैसे मुझे लगता है कि इस समस्या का समाधान कर सकते हैं? धन्यवाद!

+0

भंडार लेआउट समझदार दिखता है। आप इसे क्यों बदलना चाहते हैं? – zellus

+0

, पर http://stackoverflow.com/questions/496713/how-do-i-correct-a-subversion-project-where-i-omitted-trunk – zellus

+0

धन्यवाद एक नज़र क्योंकि मेरी स्थिति में ट्रंक सिर्फ एक अतिरिक्त है श्रृंखला, यह अनावश्यक है। – ihorko

उत्तर

10

आप कर रहे हैं TortoiseSVN का उपयोग करने के लिए तैयार है तो आप बस फ़ोल्डर को भंडार ब्राउज़र के साथ ले जा सकते हैं। इस तरह मैं आमतौर पर फ़ोल्डरों को बहुत सरल और दर्द रहित स्थानांतरित करता हूं।

+0

हां, मैं टोर्टोइज एसवीएन का उपयोग करता हूं, यह वास्तव में भंडार ब्राउज़र में बहुत आसान है, आपकी मदद के लिए बहुत बहुत धन्यवाद !!! – ihorko

1

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

+1

आप इतिहास नहीं होगा की जरूरत है, उस के बाद आप केवल पिछले संशोधन – ihorko

+0

क्यों होगा? आपके पास सभी बदलाव होंगे, लेकिन नए पेड़ में। –

+0

के रूप में मैं समस्या का एक छोटा सा मैं एक और समाधान पाया सोचा - एक निर्दिष्ट पेड़ पर डंप भंडार, मान लें: svnadmin डंप रेपो/path/अन्य/भीतरी> file.dump फिर हटाएं dir "आंतरिक" -> यह इसे भंडार से हटा देगा, और अब इसे किसी अन्य पथ पर लोड करेगा: svnadmin load/repo/--parent-dir/path

1

प्रयास करें:

SVN स्विच --relocate https://myserver.com/svn/Project/trunk/https://myserver/svn/Project/

कृपया एक अलग भंडार में यह परीक्षण से पहले आप अपने वास्तविक एक पर चला!

+0

धन्यवाद , मैंने कोशिश की, लेकिन svn कहते हैं: svn: '।' एक कामकाजी प्रति नहीं है – ihorko

+1

आपने प्रोजेक्ट की मूल निर्देशिका से अपने फ़ाइल सिस्टम पर कमांड चलाया है? – Nix

+1

लेकिन एक स्विच सर्वर पर किसी भी फाइल को स्थानांतरित नहीं करेगा ... – mliebelt

0

मुझे विश्वास नहीं है कि आप सीधे मौजूदा निर्देशिका (विशेष रूप से भंडार रूट) पर जा सकते हैं। शायद --force विकल्प मदद कर सकता है।

यदि यह पूरे रेपो चेकआउट करने के लिए आप ऊपरी स्तर तक ट्रंक से हर निर्देशिका के लिए कदम सकता है संभव है, इसे और अधिक विश्वसनीय समाधान की तरह लगता है

svn mv * .. 

* कुछ SVN ग्राहकों द्वारा समर्थित नहीं है

19

मैं बस इसके लिए भी देख रहा था। तब मैंने एक समाधान की तलाश शुरू कर दी और मुझे वास्तव में कोई नहीं मिला, सिवाय इसके कि उसने मुझे समाधान के बारे में सोचा।

./folder से ./ से सबकुछ स्थानांतरित करने के लिए आप svn mv ./folder ./ आदेश की अपेक्षा करेंगे। यह वास्तव में सच नहीं है, यह वर्तमान निर्देशिका में folder स्थानांतरित करेगा। चूंकि यह वह जगह है जहां से यह पहले से ही है, कमांड विफल रहता है।

तो, समाधान ./ के अंदर./folder सब कुछ स्थानांतरित करने के लिए किया जाएगा।दरअसल, निम्न आदेश सिर्फ इतना है कि करता है:

svn mv ./folder/* ./

-1
  1. जांच https://myserver.com/svn कुछ काम कर प्रतिलिपि करने के लिए
  2. हटाने निर्देशिका "परियोजना" की जड़ तक परियोजना/ट्रंक के
  3. प्रतिलिपि पिछले संशोधन काम कर प्रति
  4. प्रतिबद्ध
1

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

नए स्थान https://myserver/svn/Project/ अपने पुराने स्थान से केवल आइटम नहीं हैं चाहिए, तो यहाँ मैं क्या किया है:

  • ले जाया गया https://myserver.com/svn/Project/trunk/ एक नया अस्थायी स्थान (जैसे https://myserver/svn/TempProject/) करने के लिए;

  • हटाए गए मौजूदा स्थान का उपयोग करना चाहते (https://myserver/svn/Project/);

  • https://myserver/svn/TempProject/ से https://myserver/svn/Project/ नामित किया गया।

यह मेरे लिए काम करता है। इसने सभी इतिहास, एसवीएन सेटिंग्स इत्यादि को संरक्षित किया। इतिहास को सभी चलती चीजों से कुछ नई प्रविष्टियां मिलीं।

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