سؤال

قد يبدو الأمر بأنه سؤال غبي لكنني لا أستطيع أن أجد حياة لي الإجابة على هذا واحد.

لدينا مشروع تم إعداده في Redmine ويرتبط بمستودع SVN. كل شيء يعمل بشكل جيد، لكننا قامنا مؤخرا بنقل مستودع، ونحن بحاجة إلى تحديث إعداد مسار مستودع RedMine الخاص به للإعداد الجديد.

المشكلة هي أن الخيار رمادي ولا يمكنني تغييره. أفترض أنك يمكن النقر فوق "حذف" وإنشاء واحدة جديدة، ولكن هذا الخيار يبدو مخيفا حقا لمحاولة (يحتوي عنوان URL على كلمة / تدمير / في ذلك !!) ولا أريد القضاء على الريبو. لا يوجد مرجع يمكن أن أجده عن هذا في دليل Redmine. ماذا علي أن أفعل؟

كما - في ذلك - هل تعرف ما إذا كانت جميع مراجع التذاكر في ارتكاب قديمة ستظل تشير إلى الأماكن الصحيحة؟

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

المحلول

حسنا، لقد اكتشفت. قمت بإنشاء مشروع دمية مع Repo SVN Dummy لاختبار، وأخيرا النقر فوق هذا الرابط "حذف" اللعين. اتضح أنه يحذف مرجعا فقط إلى المستودع، وليس الريبو نفسه.

لقد كان سؤالا غبيا من المسلم به، ولكن يجب توثيق ذلك على دليل Redmine :)

نصائح أخرى

يمكن أن يكون خيار آخر عن طريق تغيير القيم في "مخزن' جدول. إنه يعمل بشكل جيد في حالة نقل مستودع.

يمكن أن يكون خيار آخر عن طريق تغيير القيم في جدول "مستودع". إنه يعمل بشكل جيد في حالة نقل مستودع.

لن أوصي بذلك إلا إذا كنت تعرف بالتأكيد أنهم هي نفسها بالضبط.


PS لقد أدركت فقط كم عمر هذا السؤال، لكنني أعتقد أنه لا يزال من المناسب.

في الواقع، أنا فقط تعتني بنفسها غبي سؤال. شكرا. ومع ذلك، يبدو أن معلومات قاعدة البيانات التي تحتوي على مراجع إلى كل ارتكاب تتم إزالة Redmine ثم إعادة إنشاءها أيضا. هذا يمكن أن يستغرق وقتا طويلا إذا كان مستودعك كبيرا. (مثل نواة لينكس)

هذا هو استعلام MySQL لتشغيل قاعدة بيانات RedMine لتغيير موقع المستودع:

UPDATE repositories SET url='/opt/git/NEW_LOCATION.git', root_url='/opt/git/NEW_LOCATION.git' WHERE url='/opt/git/OLD_LOCATION.git';

كن حذرا للغاية مع حذف مستودع في Redmine. لا يحذف مستودعك البدني ولكن إنه يحذف كل ما يخزنه Redmine لمستودعات مثل الروابط إلى القضايا. وبعد غالبا ما لا يمكن استعادتها (عن طريق الاستيراد من مستودع متناقل) لأن البعض يتم إنشاء يدويا وفي حالتي تم إنشاء بعض الروابط منذ فترة طويلة باستخدام نمط آخر في تعليق التعليق.

الطريقة الوحيدة لنقل مستودع الخسارة دون فقدان بيانات الارتباط هي تحديث عنوان URL مباشرة في قاعدة البيانات (يتم قراءتها فقط في صفحة الإعدادات). على سبيل المثال كما اقترح dotancohen

UPDATE repositories SET url='newurl', root_url='newurlroot' WHERE url='oldurl';
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top