سؤال

أنا أساعد في إعداد SCM لبرنامج جديد، ونحن حاليًا بصدد اتخاذ قرار بشأن VCS.

المتنافسون الرئيسيون في هذه المرحلة هم SVN وClearCase وSVN+DVCS وDVCS فقط.

في الوقت الحالي، يميل الفريق نحو SVN أو SVN+DVCS.نريد تجنب تكاليف النفقات والإدارة الخاصة بـ ClearCase، ولكننا نريد سير العمل وخيارات الإصدار التي يقدمها.لقد طرحت خيار استخدام DVCS أيضًا، والفكرة قيد النظر.

بالنسبة إلى DVCS، نحن نفكر في Mercurial وBazaar وGit.يشعر الفريق بالراحة مع SVN، لكن لا أعتقد أنه سيوفر التنوع المطلوب، ولهذا السبب ننظر إلى DVCS أعلى خيار SVN.

هل لدى أي شخص أي نصيحة (على سبيل المثال؟الأدوات والعمليات الموجودة) لبدء مثل هذا الإعداد؟

تشمل المخاوف ما يلي:

  • سهولة الإعداد
  • إعداد سير العمل (تطوير <-> مراجعات التعليمات البرمجية -> الاختبار -> الجذع، ثم الجذع -> فرع اختبار التكامل -> الإصدار مع إصلاحات الأخطاء الموضوعة في فروع الإصدار)، والتدقيق (تم العثور على خطأ، متى تم تقديمه)
  • توليد المقاييس
  • منحنى تعليمي معقول للمطورين الذين اعتادوا على ClearCase.
  • تطوير ويندوز
  • تكامل أداة تعقب المشكلات (من المحتمل أن يكون Redmine، على الرغم من أنه ليس ثابتًا)
هل كانت مفيدة؟

المحلول

باعتباري مسؤولًا عن ClearCase، فإنني أستبعد هذه الأداة إلا إذا كان لديك سير عمل دمج معقد.

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

أكبر فخ عندما تستخدمه لـ ClearCase (خاصة غير UCM ClearCase) هو "تكوين" مواصفات التكوين.
إذا اخترت DVCS (Mercurial أو Bazaar - أو Git منذ ذلك الحين يعمل بشكل جيد حقا على نظام التشغيل Windows)، انت ترغب لا تكون قادرًا على الحصول على نفس "تأثير الوراثة" - (عند تحديد إصدارات مختلفة بقواعد اختيار متتالية مختلفة -:كما قيل في هذا الرد:

في VCS مركزي تمامًا، يمكنك تحديد مساحة العمل الخاصة بك (في ClearCase، "العرض" الخاص بك إما لقطة أو ديناميكية) بأي قواعد تريدها.
لن يكون ذلك عمليًا في DVCS (كما في "الموزعة"):عندما تقوم بإنشاء فرع به، فإنك تحتاج إلى القيام بذلك بنقطة بداية ومحتوى محدد بوضوح ويمكن نسخه بسهولة إلى مستودعات أخرى.

إذا كنت تستخدم ClearCase UCM، فهذا يعني تحديد مجموعات متماسكة من الملفات، وهو ما لا يمكن تحقيقه إلا من خلال - على سبيل المثال - وحدات جيت الفرعية.
يكون التعقيد أعلى مع DVCS، نظرًا لأنها لا تسجل التبعيات بين الوحدات النمطية (أو "مجموعة الملفات") بالطريقة التي يفعلها ClearCase UCM.

لذلك، لتلخيص:

  • سهولة الإعداد:جميع DVCS المذكورة سهلة الإعداد.ما يجب أن يؤخذ بعين الاعتبار هو الإدارة من حيث وصول المستخدم.
  • إعداد سير العمل:يدعم DVCS أي نوع من سير العمل، حتى لو كان مركزيًا، أو خاصًا أو عامًا، أو....فيما يتعلق بالعثور على خطأ، فإنهم جميعًا يدعمون نوعًا ما عملية نصفية.
  • توليد المقاييس:إذا كنت تقصد بذلك "مقاييس حول الكود المُدار"، فكلها تدعم بعض أنظمة السجل الكاملة القادرة على عرض الكثير من المعلومات حول ما تغير.
    ولكن فيما يتعلق بـ "المقاييس المتعلقة بالأداة" (سرعة العملية أو المساحة التي تشغلها البيانات)، فإن أدوات DVCS المذكورة تعتبر أسرع بكثير من SVN (انظر هنا كمثال).
  • منحنى التعلم المعقول للمطورين الذين اعتادوا على ClearCase:يمكن أن تكون واجهة المستخدم الرسومية عاملاً لتخفيف منحنى التعلم، ولكن DVCS يختلف تمامًا عن ClearCase، حيث أن هذا "المفاهيم الأساسية"الجواب يوضح.
  • تطوير ويندوز:تعمل جميعها بشكل جيد على نظام التشغيل Windows، مع ميزة طفيفة (تكامل أفضل) لـ Mercurial أو Bazaar.
  • تكامل أداة تعقب المشكلات (من المحتمل أن يكون Redmine، على الرغم من أنه ليس ثابتًا):يدعم Redmine الآن معظمها (وليس فقط SVN كما كان الحال في البداية)

نصائح أخرى

ما هي المشكلة مع جيت؟أنا أستخدم Git على Windows الآن.إنه يعمل بشكل جيد.ملحقات جيت يعد مفيدًا جدًا إذا كنت ترغب في بعض تكامل المستكشف، إذا كانت هذه هي مشكلتك.

ليس لدي خبرة في استخدام Clearcase ولكن آمل أن يساعد ما يلي البعض.يتجاهل سؤالك العديد من المعلومات التي يجب أن آخذها في الاعتبار قبل اتخاذ القرار.أولاً ما هو مقدار كود المصدر الذي ستحصل عليه؟في حين أن SVN جيد في المشاريع المتوسطة إلى الكبيرة، إلا أن المشاريع الضخمة حقًا مثل Linux kernel Git ستوفر أداءً أفضل بكثير.ثانيا ما هو IDE الذي تستخدمه؟في حين أن كل من Mercurial وGit وSVN تحتوي جميعها على مكونات إضافية للاستوديو المرئي وEclipse فهي ذات جودة عالية.وفقًا لمقال ويكيبيديا عن Redmine، سيتم دمج أي من أنظمة SCM التي تبحث عنها.قد تكون المدونة التالية مفيدة لك نظرًا لأنها اشترت رجلًا يكتب نظام SCM لكسب لقمة العيش.http://www.ericsink.com/

إذا كان بإمكانك إسقاط متطلب تشغيله على نظام التشغيل Windows، فإنني أوصي بالاطلاع عليه ايجيس.

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