تقسيم مستودع التخريب إلى مستودعات ميركوريال متعددة؟

StackOverflow https://stackoverflow.com/questions/4210345

سؤال

نحن نهدح من التخريب إلى الزئبق ونواجه نتوءًا في عملية تحويل SVN-> HG. في الوقت الحالي ، يحتفظ SVN Repo الفردي بدولة "مشاريع" متميزة ، ونرغب في تقسيمها في عملية الترحيل. يتم تنظيم ريبو SVN لدينا على النحو التالي:

.
|-- proj1
|   |-- branches
|   |-- tags
|   `-- trunk
`-- proj2
    |-- branches
    |-- tags
    `-- trunk

ونود أن نجعل ببساطة proj1 و proj2 ريبوس الزئبق الخاصة بهم. نود ، بالطبع ، ليس لدينا تاريخ خاص بـ proj1 ظهر في proj2سجل أيضا. الآن ، متى hg convert هل التحويل ، إنه يقرأ فقط جميع الملفات بخيمة ، ولا حتى تميز الفروع عن جذوع.

ما هي عملية التصفية عن طريق الدليل والتعرف على فروع SVN في hg convert?

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

المحلول

لقد عملت الآن ، بفضل صفحة wiki convertextension!

لقد جربت طريقة Ry4an ، لكنها كانت مع الجوانب السلبية من الاضطرار إلى تحويل SVN REPO أولاً إلى ريبو زئبقي وسيط قبل تقسيم كل شيء ، وأن الفروع والجذع والعلامات لم يتم الاعتراف بها لأن هناك مشروعان لكل منهما الفروع ، الجذع ، والعلامات.

لقد وجدت أن تحديد الفروع والجذع والعلامات يدويًا عملت بشكل رائع لتحويل مشروع واحد من SVN إلى Mercurial في وقت واحد:

hg \
--config convert.svn.trunk=proj1/trunk \
--config convert.svn.branches=proj1/branches \
--config convert.svn.tags=proj1/tags \
convert --authors authors.txt original-svn-dir hg-proj1

سيؤدي هذا إلى الاعتراف بفروع SVN وعلاماتها وجذعها و تصفية فقط proj1 المراجعات في نفس الوقت. ثم ، كررته للتو proj2.

نصائح أخرى

هناك طريقة أخرى لحلها هي استخدام Svnadmin Dump و SVNDumpFilter لتقسيم SVN REPO إلى مستودع SVN جديد لكل مشروع كما هو موضح في وثائق SVN.تقسيم المستودعات عن طريق تصفية تاريخ المستودع

يتم ذلك بسهولة باستخدام ملحق "تحويل" كما اقترحت. ها هو الإجراء:

  1. هل أ hg convert SVNREPO all-in-one-mercurial-repo من SVN إلى Mercurial مع كل شيء
  2. هل متعددة hg convert --filemap projectfilemap.txt all-in-one-mercurial-repo project-repo الأوامر - واحد لكل مشروع

هذه filemaps لها خطوط مثل:

exclude proj1
rename proj2 .

هذا من شأنه أن يستخدم FileMap عند استخراج فقط إعادة ريبو Project Two من ريبو Mercurial All-in-One. قد تحتاج إلى سرد كل ملف فردي في تلك الخرائط ، لكنني أعتقد أن الدلائل على ما يرام.

هناك سؤال آخر هنا حوله ، حيث أجبت على نفس الشيء ولصقه في مثال كامل ، ولكن يجب أن يكون ذلك كافياً لجعلك مستمرة.

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