خطأ تبديل SVN - ليس نفس المستودع
-
06-09-2019 - |
سؤال
لقد قمت مؤخرا بتحريك خادم SVN والآن أنا أحرز نقل نسخ العمل من جهاز الكمبيوتر الخاص بي إلى الخادم الجديد. لكنني أحصل على خطأ أغرب. أنا افعل :
svn switch http://99.99.99.new/svn/company/project/trunk/web
لكنني سأحصل على ذلك
svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'
تم إجراء هذه الخطوة مع تفريغ واستيراد ... وجذر الريبو قيد التشغيل http://99.99.99.new/svn/company/project.
هل لدى يا رفاق أي أفكار لما قد يكون خطأ؟ شكر كثيرا
المحلول
جرب استخدام
svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
كما لاحظت سبورينو في التعليقات، منذ التخريب 1.7، هناك منفصل relocate
أمر:
svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
نصائح أخرى
أيضا، في TortoisesVN هناك خيار "نقل"، والتي يجب استخدامها في المواقف مثل خيار "التبديل" (بدلا من خيار "التبديل").
أفضل طريقة للقيام بنقل SVN هذا:
svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
new_url_or_repository
بهذه الطريقة، باستخدام عنوان URL القديم الأيمن من svn info
أمر، أنت متأكد من عدم إدخال خطأ خاطئ، وهو أحد الأشروط المشتركة.
إذا كان كل شيء صحيحا، فسيطلب منك تفاصيل المصادقة للموقع الجديد، إذا كانت مختلفة.
بعد إصدار الأمر، تأكد من التحقق من ضعف التغيير الذي تم تطبيقه في البحث عن معلمة URL، وإصدارها
svn info
بعد الانتقال، قم بتحديث نسخة عملك، للتحقق من أن كل شيء على ما يرام:
svn update
بلدي 2C ..
استخدم ال relocate
معلمة سطر الأوامر إلى switch
أمر.
في بعض الأحيان قد يقوم المسؤول بتغيير "الموقع الأساسي" لمستودعك - بمعنى آخر، لا تتغير محتويات المستودع، ولكن عنوان URL الرئيسي المستخدم للوصول إلى جذر المستودع. على سبيل المثال، قد يتغير اسم المضيف، أو مخطط URL، أو ربما مجرد المسار الذي يؤدي إلى المستودع. بدلا من الخروج نسخة عمل جديدة، يمكنك الحصول على أمر التبديل SVN "أعد كتابة" بدايات جميع عناوين URL في نسخ عملك. استخدم الأمر - relection للقيام بدليل. لا يتم تغيير محتويات الملفات، ولا يتم الاتصال بالمستودع. يشبه تشغيل برنامج نصي بيرل عبر نسخة عملك .svn / الدلائل التي تعمل S / Oldroot / Newroot /.
تحتاج إلى استخدام خيار - ReleAtion:
svn switch --relocate http://99.99.99.new/svn/company/project/trunk/web
يرى svnbook. لمزيد من التفاصيل.