سؤال

أقوم حاليًا بالبحث في خيارات التحكم في المصادر الجديدة لفريق من 10 مطورين. نقوم بتطوير .NET في Visual Studio 2008. نستخدم حاليًا VSS للتحكم في المصدر.

نحن نبحث عن حل التحكم في المصدر المركزي (غير موزعة) ، مع مكون إضافي Visual Studio لطيف. لقد أوصى مديري SCM البلاستيكي وقد سمعت دائمًا أشياء جيدة عن التخريب. أحاول أن أقرر ما إذا كان ينبغي علينا تبني Subversion أو SCM البلاستيكية.

لا يوجد الكثير من المعلومات حول SCM البلاستيكية (باستثناء ما كتبوه) وكنت أتساءل عما إذا كان هذا سيكون حلاً جيدًا. أنها تجعل الأمر يبدو كما لو كان التفرع أبسط بكثير.

التخريب من ناحية أخرى لديه مجتمع قوي وناضج ، وقد تم اختباره تمامًا.

ما هي إيجابيات وسلبيات لهذه الأدوات؟

هل هناك أيضًا أي أدوات أخرى يمكن أن تقترحها؟

شكرًا

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

المحلول

لم أستخدم SCM البلاستيكي من قبل ، لكن Subversion كان جيدًا بالنسبة لي في الماضي. إذا لم تكن ملزمًا بحل مجاني مثل SVN ، فقد تفكر في خادم Team Foundation. بجانب التحكم في الإصدار ، تقدم TFS ميزات لطيفة إضافية مثل تتبع عناصر العمل ، والإبلاغ المتكامل ... كما يمكنك أن تتخيل ، إن تكامل Visual Studio رائع فقط :)

نصائح أخرى

أرغب في إضافة هذه الإجابة للجميع لا يزالون يختارونه.

أنا أتطور في C# مع VS2008. أنا أعمل في فريق من مطورين. اعتدنا على عدم وجود التحكم في المصدر (الرعب) ، ثم استخدمنا التخريب (OKISH) ثم تحولنا إلى SCM البلاستيكية (جيد).

مصفوفة المقارنة:
(يرجى ملاحظة وجهة نظر مستخدمي Windows ، YMMV)

البلاستيك المحترف:

  • تطبيق Windows - واجهة مستخدم لطيفة وبديهية
  • مقاطع فيديو تعليمية جيدة (يمكنك تعلم كل ما تحتاجه حوالي ساعتين)
  • من السهل جدًا القيام بالمهام القياسية: التحول إلى فرع آخر ، والحصول على إصدار أقدم من بعض الملفات ، والاختلاف ، والاندماج.

بلاستيك كونترا:

  • يكلف المال (مجاني لمصدر مفتوح ؛ تحرير (2/2011): اعتاد أن يكون هناك تراخيص تجارية مجانية من المستخدمين هناك ترخيص تجاري مجاني من 15 مستخدمًا. تحتاج إلى تجديده كل عام ، رغم ذلك)
  • لا يوجد برنامج خادم / مسؤول حقيقي: ليس لدي أي فكرة عن مكان تخزين البيانات على القرص الخاص بي ؛ كل شيء مخفي عني. الآن ، كيف يمكنني النسخ الاحتياطي للمستودع الخاص بي؟ "الحل" الوحيد الذي أعرفه هو استخدام ميزة النسخ المتماثل للعميل وتكرار المستودع إلى خادم المضيف المحلي. (لم أفعل هذا بعد.) [تحرير: ألق نظرة على التعليقات للحصول على حل حقيقي.

التخريب المؤيد:

  • حر
  • المصدر المفتوح
  • قاعدة مستخدم ضخمة

تخريب Contra:

  • Subversion لا يمكن أن يتعامل مع إعادة تسمية الملفات. يمكنك العمل حولها ، لكنها ليست (بعد) ميزة أصلية.
  • أشياء مثل نقل الدليل قد تفسد نسخة العمل الخاصة بك.
  • السلحفاة SVN هي أكثر من مجرد واجهة لخط الأوامر svn.exe. بالنسبة للعديد من العمليات ، لا تزال بحاجة إلى معرفة أوامر سطر الأوامر ومفاتيحها.
  • تباطأت السلحفاة SVN بشدة نقرات Windows Explorer.
  • يستغرق الدمج مزيدًا من الوقت عندما يكون هناك صراعات. يمكنك الحصول على عدة نسخ من نفس الملف ، ثم عليك حذف جميع الإصدارات التي لا تحتاجها (اترك Visual Studio لذلك) ، أو تحصل . في SCM البلاستيكية ، من ناحية أخرى ، تفتح عملية الدمج نافذة مماثلة لـ Winmerge ويمكنك فقط النقر على كتل الكود الذي تحتاجه لحل الصراع.

امل ان يساعد. إذا كنت بحاجة إلى أي معلومات محددة أخرى ، فيرجى إخبارنا بذلك.

فيليكس

يعد استخدام VisualSVnServer طريقة سهلة للتخريب وتشغيله في بيئة Windows ، ولديهم أداة توفر تكامل Visual Studio بحوالي 50 دولارًا/DEV. عندما عملت في شركة في منتصف التبديل ، كان القرار بين SVN و Perforce. لقد انتهى الأمر بالذهاب مع SVN لأنني تمكنت من الحصول عليها ، واستخدامها ، واختبارها ، واللعب بها بسهولة شديدة. يمكن أن نحصل على عروض Webex التقديمية لـ Perforce ، لكن كان من الصعب التعلم دون شراء كتابهم. كما زعمت أنها كانت أداة أفضل للمطورين لمعرفة لأن العديد من المشاريع المفتوحة المصدر كانت عليها ، وكانت مهارة أكثر قابلية للتحويل. من غير المرجح أن تستخدم SCM البلاستيكية إذا كنت ستنتقل إلى وضع آخر.

ألق نظرة على أداء هنا. إنه يقارن كلا النظامين تحت الحمل الثقيل حقًا (1 ، 10 ، 20 ، 50 ، وأخيراً 100 آلة متزامنة ضد خادم واحد ، وهو أكثر من 100 مستخدم حقيقي ، بالتأكيد).

أنا مقدماً أسأل الأعذار عن اقتراحي ، ولكن يمكنك استخدام نظام التحكم في الإصدار الموزع بطريقة مركزية. إنها مجرد مسألة للسياسة داخل فريق التنمية الخاص بك.

على سبيل المثال ، يسمح Mercurial بسحب ودفعات عبر خدمة الويب بسهولة شديدة من خلال السلحفاة.

أو ربما يمكنك تجربة حل مزيج وخادم مركزي (تخريب) وتفرع محلي لكل مطور باستخدام GIT ، وهو ما يجب أن أقوله ، إنه أمر سهل للغاية.

للتخريب <-> vstudio ، لقد استخدمت Ankh وأجد أنه من السهل جدًا استخدامه. بالنسبة لـ git <-> vstudio ، فقد استخدمت gitextensions والتكامل ليس جيدًا كما يمكن للمرء أن يجده على سبيل المثال مع امتداد قذيفة السلحفاة أو مع Ankh ، ولكن يمكنك تجربته بنفسك.

لقد استخدمت Git و SVN والبلاستيك (إصدار Pre SCM 4) ، ثم إلى SVN ، والآن العودة إلى البلاستيك SCM 4. البلاستيك ليس فقط أسرع للتحقق/الخروج/التحديث ، إلخ ، من الآخرين الذين استخدمتهم ، ولكن يحتوي على أ واجهة مستخدم جيدة المظهر وكذلك التنقل والوظائف البديهية (بالنسبة لي). لقد واجهت دائمًا نسخ عمل فاسدة مع SVN عندما غيرت الفروع ، وما إلى ذلك. البلاستيك يعمل فقط بالنسبة لي.

بديل آخر لـ VSS SourceGear Vault ('vss القيام به بشكل صحيح'). Big Plus هو أنها تعمل (على عكس VSS).

يبدو أن Plasticscm حل موزع ، في حين أن SVN (و VSS ، TFS ، ...) مركزية. إذا كنت تريد بدائل للحلول الموزعة التجارية ، فقد ترغب في إلقاء نظرة على شخص سخيف, زئبقي, بازار.

لقد استخدمت SVN لأطول وقت. لقد اعتدت على ذلك. سواء في المكتب أو على شبكتي الشخصية في المنزل. عملت بشكل جيد وسهل.

لقد بدأت مؤخرًا وظيفة جديدة وفي هذا المكتب نستخدم البلاستيك. كان هذا أول تعرض لي لهذا المنتج. أنا في مهب من البلاستيك لدرجة أنني على خادم خاص بي ، لقد تخلت عن SVN وانتقلت إلى البلاستيك. انها مجرد جيدة. لن أكون مقتنعًا بسهولة بالعودة إلى SVN. البلاستيك مثالي. إنه مجاني لما يصل إلى 15 ديف. يمكن أن يكون خادم SQL متكاملًا ، حتى تعرف بالضبط أين يوجد مستودعك في جميع الأوقات. يمكن توصيله لاستخدام مصادقة الإعلان. الشيء الذي أستمتع به أكثر في البلاستيك هو أنه مستكشف فرعي. يحتوي على واجهة المستخدم الرسومية التي تعرض جميع فروع مشروعك الحالي. في هذا المستكشف الفرعي ، يمكنك جعل فروع الأطفال من فرعك الرئيسي أو دمج فروع الأطفال في فرعك الرئيسي. كان هذا مدروسًا جيدًا.

IMHO البلاستيك هو حلم أصبح حقيقة. بابلو يعرف أغراضه!

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