سؤال

هل هناك أي أدوات استيراد وتصدير من شأنها أن تسمح لنا بنقل المشاريع داخل وخارج نظام الفريق مع التاريخ الكامل والسجل؟SCM الحالي الخاص بنا هو SVN.

ملحوظة: آسف، أعلم أنها إعادة نشر، لكن لم أحصل على إجابة من قبل...:)

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

المحلول

لسوء الحظ، ربما لم تحصل على إجابة لأنه لا يوجد إجابة جيدة معروضة...

لقد بحثت في هذا عدة مرات من قبل، في البداية لأول إصدار تجريبي من TFS.(في ذلك الوقت كنا حريصين على الابتعاد عن VSS أثناء انتظار أن يكون TFS جاهزًا ...كان الحل الوسط الذي انتهى بنا الأمر إليه هو استخدام SVN في هذه الأثناء، ولكننا استخدمنا رابط الالتزام اللاحق الذي أبقى مستودع VSS متزامنًا للسماح بمسار الترحيل هذا إلى TFS.)

هؤلاء الرجال (مصدر المكون) كانت موجودة في ذلك الوقت مع محول VSS إلى TFS، وأضفت SVN إلى TFS، ولكن يبدو أنها توقفت عن المنتج منذ ذلك الحين.

هؤلاء الرجال (كيروسوفت) قد يكون هناك بعض الأمل، لكنني أشعر بالقلق من أنهم لا ينشرون الأسعار، وينشرون قائمة العملاء (من اثنين).من لديه تجربة مع المنتج فليخبرنا جميعا.

في الآونة الأخيرة، تم إصدار مجموعة أدوات الترحيل والمزامنة TFS على CodePlex، ولكن حتى الآن لم يصدر أحد مكون SVN الإضافي لها (هناك 66 صوتًا لـ طلب)

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

(من المفترض أن الأداة الأولى المتوقفة أعلاه تستخدم للسماح بذلك، ولكن كيف تمكنوا من التغلب على القيد (واجهة برمجة التطبيقات السرية؟ضبط وقت النظام؟معالجة قاعدة البيانات؟) لا أعرف.)

في النهاية، أظن أن معظم الفرق ينتهي بها الأمر إلى اتخاذ قرار بتبديل الأنظمة في الوقت المناسب (على سبيل المثال، إصدار جديد أو مشروع جديد)، والتعامل يدويًا مع البحث عن السجل المنقسم لمدة تتراوح من 6 إلى 12 شهرًا، حيث يظل الأمر يمثل مشكلة بشكل خاص...

نصائح أخرى

لا أعرف إذا كنت لا تزال مهتمًا، لكنني مررت بهذا الأمر مع صاحب العمل الحالي (كان مشروعي يستخدم SVN وأرادوا ترحيله إلى TFS في موقع آخر).

هذه هي الخطوات التالية التي استخدمتها:

  1. قم بتشغيل svndump على الريبو الحالي الخاص بك، وانقل الملف إلى الهدف المقصود
  2. استخدام خادم svn (على سبيل المثال.مستودع محلي) قم باستيراد الملف - لهذا استخدمته خادم فيسوال إس في إن.
  3. قم بالخروج من مستودع SVN إلى دليل محلي (على سبيل المثال. svn co <url> Proj_SVN)
  4. يجري SvnBridge (من CodePlex) على نفس الجهاز
  5. قم بالخروج من مستودع TFS إلى دليل محلي (على سبيل المثال. svn co http:// localhost:8080/<tfs_server>/<project_repo_path> Proj_TFS)
  6. استخدام Svn2Svn (من codeplex) أقوم بتشغيل ما يلي: svn2svn /s:c:\temp\src\Proj_SVN /d:c:\temp\src\Proj_TFS /r:<start_rev>:<end_rev>

اعتمادًا على عدد المراجعات وكمية البيانات المتوفرة لديك وسرعة شبكتك (على سبيل المثال،قد يكون التشغيل على خادم TFS أسرع) وقد يستغرق الأمر من 10 دقائق فصاعدًا لإكمال كل مراجعة.

على أي حال، هذا هو ما استخدمته وقد نجح بالنسبة لي (رغم أنها عملية مؤلمة...) - قد تختلف وسائلك.

http://www.timelymigration.com/features.aspx هو بديل آخر، كان لديه اختبار تشغيل يبدو أنه يعمل.

مجرد التفكير بصوت عالٍ هنا، ولكن هل تدعم SVN طريقة "لإعادة تشغيل" تاريخها؟إذا كانت هناك طريقة لإنشاء مجموعة كاملة من أوامر SVN من مستودع موجود، فيمكنك تغذية هذه الأوامر إلى SvnBridge, ، والذي سيتم كتابته بالفعل في TFS.

استخدم كريوسوفت.ComponentSource عاطل عن العمل بشكل أساسي.

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