سؤال

أحاول إجراء عملية هجرة من CVS إلى SVN على خادم XSERVE الجديد الذي يقوم بتشغيل خادم OS X. هناك تعارض معروف بين مكتبات CVS2SVN و DBM التي تأتي مثبتة مسبقا مع نظام التشغيل X. الخطأ هو:

خطأ: يستخدم CVS2SVN حزمة AnyDBM، والذي يعتمد على مكتبات DBM منخفضة المستوى. يحتوي نظامك على DBM، حيث من المعروف أن CVS2SVN لديك مشاكل. لاستخدام CVS2SVN، يجب عليك تثبيت مكتبة Python DBM بخلاف Dumbdbm أو DBM. يرى http://python.org/doc/current/lib/module-anydbm.html. للمزيد من المعلومات.

اتبعت جميع الخطوات الموصوفة في CVS2SVN أسئلة وأجوبة لكن الخطأ لا يزال يستمر. هل يعرف أي شخص بطريقة بديلة لإنجاز هذه المهمة، أو موقع آخر يقدم حلا مختلفا لهذه المشكلة الشائعة على ما يبدو؟

هل كانت مفيدة؟

المحلول

نظرا لأن السير الذاتية ومستودعات التخريبية هي حقا مجرد مجموعات من الملفات، قد تكون إحدى طرق العمل في هذه المشكلة هي نسخ مستودع CVS الخاص بك إلى جهاز حيث يمكن تشغيل CVS2SVN بنجاح، قم بتشغيله للتحويل إلى Subversion، ثم انسخ المستودع الجديد مرة أخرى إلى الخادم الخاص بك. الفائدة الإضافية لهذه الطريقة هي أنه لن تقوم بتشغيل خطر تعبئة تكوين الخادم الخاص بك عن طريق الخطأ أثناء القيام بخطوة التحويل هذه.

نصائح أخرى

CVS2SVN نفسها متوفرة في macports لذلك، بدلا من مكتبات DBM فقط، يمكنك تثبيت CVS2SVN باستخدام MacPorts:

port install cvs2svn

إذا لم تكن مثبتة بالفعل، فستقوم أيضا بتثبيت إصدار MacPorts من Python2.5 وغيرها من التبعيات. لا يوجد أي ضرر في ذلك، لكنه سيغرق بعض الوقت وقيمة مساحة إضافية. ميزة هي أنه يجب أن يكون لديك نسخة عمل مدعومة دون الحاجة إلى مكافحة المزيد من مشاكل التبعية.

يمكنك دائما تثبيت مكتبات DBM الأخرى التي تستخدمها على سبيل المثال MacPorts.

إذا كان لديك بالفعل تثبيت Subversion، فهل تأكد من تعيين المسار بشكل صحيح في متغيرات النظام الخاصة بك؟

كان لي هذه القضية نفسها على لي وقد انتهى الأمر إلى إضافة المتغيرات في python_home والمسار للاستخدام

ج: pyton27

ربما يبدو مجنونا قليلا أو مبالغة، ولكن فكر في استخدام "git" (مثل إصدار macports). إنه يحنس تاريخ السير الذاتية الكاملة ويدفعه إلى مستودع تخريب. يجب أن تقوم الخطوات التالية بعمل العمل (إلقاء نظرة على أدلة الأمر، ومساعدة GIT Help'CMD'):

 ميناء تثبيت CVSPS GIT-CORE CVS CVSPS SVN (إذا لزم الأمر) إنشاء دليل ل GIT و INIT CVS GIT REPO (دعونا يقول ~ / CVSGIT'): GIT CVSIMPORT -V -V -V -D CVSROT الوحدة النمطية إنشاء مستودع تخريب جديد (Svnadmin) مع جذع، علامات، فروع الآن استيراد هذا المستودع الجديد إلى مستودع GIT: GIT SVN CLONE -S ملف: /// path / to / svnrepo (بدون جذع، علامات، فروع) هذا ينشئ دليل svnrepo؛ إعادة تسمية وتحريكها إلى EG ~ / Svngit الآن أضف CVS Git Repo إلى SVN Repo: CD ~ / SVNGIT GIT ANDER ADD CVSREPO ~ / CVSGIT GIT FETCH CVSREPO الآن دمج CVS Master Branch إلى فرع Master SVN المحلي: CVSREPO / MASTER أخيرا تلتزم (حقيقي) SVN مستودع: جيت SVN Dcommit

انت انتهيت!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top