طريقة عملية لتنفيذ التغييرات في التحكم بالمصادر إلى فروع متعددة

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

سؤال

وهناك سيناريو شائع عند استخدام التحكم بالمصادر هو أن يكون هناك فرع التنمية جنبا إلى جنب مع فروع الإفراج إصداراتها. نحن نستخدم CVS، مع الرأس وفرع التنمية، وفرع اسمه على سبيل المثال الافراج-6-2 لالإصدار الحالي من المنتج.

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

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

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

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

المحلول

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

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

ودمج من فرع إلى فرع أفضل من تطبيق الإصلاح يدويا على كل فرع.

ومع CVS لديك للحفاظ على mannually وتتبع ما يتم دمج الإصدارات، بحيث لا تشمل نفس المراجعات عند القيام دمج الخاص بك المقبل.

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

والتغيير إلى التخريب من CVS من السهل (إيش). أنت لن تكون أول من جعلت مثل هذه الخطوة.

نصائح أخرى

وكما قلت awalshe، فمن الأفضل لدمج بين الفروع. لالكرز اختيار دمج، وطريقة وصفها في عملي التحكم في إصدارات باستخدام CVS جيدة جدا:

في فرع - فئات (PRE_FOO) قبل التغيير، قم بإجراء التغييرات والالتزام، والعلامة بعد التغيير (POST_FOO). ثم، في الجذع، ودمج باستخدام علامات:

cvs up -j PRE_FOO -j POST_FOO

ودمج بين فروع هي أسهل بكثير وأكثر أمنا في SVN، وانها تافهة لتحويل التاريخ CVS بأكمله إلى SVN - راجع cvs2svn . يجب عليك استخدام إما SVN 1.5، أو - مع الإصدارات السابقة SVN - svnmerge .

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