يمكن استخدامه في تطوير البرمجيات والمشاريع المفتوحة المصدر، ويوفر آلية لتتبع التعديلات وتحليلها ومراجعتها بسهولة. يعتبر نظام cvs مستقراً وناضجاً، ويتوافق مع أنظمة التشغيل الشائعة مثل windows وlinux.
CVS - ConcurrentVersions System
Khaled Al-Shamaa <khaled.alshamaa@gmail.com>
2.
ما هو نظامCVS؟
نظام الدصنندارات المتزامنننة CVSلحفظ الشيفرة
المصندرية هنو نظام مجانني مفتوح المصندر قائنم على
هيكلية المخدم / الزبون.
يستخدم هذا النظام آلية الدمج للتعديلت التي يجريها عدة
مطورينن، بعكنس نموذج القفنل الذي يسنمح لمطور واحد
فقط بإجراء التعديلت في كل مرة.
يمكن إستخدام هذا النظام عبر قناة آمنة )إتصال .(SSH
3.
نظام CVSوالمشاريعالمفتوحة المصدر
إن كنت مبرمجا تطمح للمساهمة يوما ما في أي مشروع
برمجني مفتوح المصندر، لبند لنك منن أنن تتقنن طريقة
التعامنل منع مخدم CVSلتكون قادرا علنى استخراج
الشيفرة المصندرية والحصنول عليهنا، فتقوم بعند ذلك
بإضافة تعديلتك إليها، ومن ثم إيداع تلك التعديلت التي
أضفتهنا مجددا فني مكننز الشيفرة المصندرية الدصلية
للمشروع، لتصننبح جزءننا منننه وتكون بالتالنني متاحة
للرخرين.
4.
أين يمكن إستخدامنظام CVS؟
منن ناحينة المبدأ فإنن أني مشروع مؤلنف من عدة ملفات
يمكننه السنتفادة منن رخدمات نظام CVSمثنل: تطوير
البرمجيات أو مواقع الويب أو مشاريع التوثيق.
تطبق مزايا نظام CVSعلى الملفات النصية فقط مثل:
ملفات HTML
ملفات (RTF (Rich Text Format
ملفات الشيفرة المصدرية البرمجية مثل PHPو Cو Java
ملفات XMLو SQL
5.
كيف يعمل نظام1( (CVS؟
يوجد مكنز Repositoryعلى مخدم ما.
يسنتخرج Checkoutكنل منن المطورينن نسنخة عمل
Working copyعلى أنظمتهم المحلية.
يقوم المطورون بإجراء التعديلت علنى نسنخة العمل
المحلية التي تخصهم بطريقتهم المعتادة.
عنند إنتهاء العمنل علنى التعدينل الذي يقومون بنه، عليهم
أول إجراء عملينة تحدينث Updateلنسنخة العمنل لديهم
لتدمنج فيها تعديلت المطورين الرخرين التي تنم إيداعها
في المكنز رخلل فترة العمل على التعديل.
6.
كيف يعمل نظام2( (CVS؟
بعند إتمام التعديلت وإنجاز عملينة التحديث بنجاح يقوم
المطور بإيداع Commitالتعديلت التني قام بهنا في
المكنز ليتم دمجها في النسخة الدصلية للمشروع.
إنن قام مطورينن بتعدينل ذات السنطر النبرمجي بشكل
مسنتقل، حينهنا سنتفشل عملينة اليداع، ويتلقى المطور
الرخينر الذي يحاول اليداع ملحظنة تفيند بحدوث حالة
تعارض ،Conflictويتوجننب عليننه حينهننا حل هذا
التعارض بشكنل يدوي قبنل أنن يكون قادرا على إيداع
تعديلته من جديد.
Conflict حل مشكلةالتعارض
<<<<<<< filename
Your changes
=======
Code merged from repository
>>>>>>> revision
16.
فوائد إستخدام نظام1( (CVS
يسنمح لعدة مطورينن بالعمنل بشكنل مسنتقل على ذات
مجموعنة الملفات، ليتنم لحقنا دممج تعديلتهنم فني المكنز
المركزي.
يسمح لك بتتبع من قام بإجراء التعديلت، و أين هي تلك
التعديلت، و متمى تنم إجراؤها. كمنا يمكننك معرفة لماذا
أجريننت تلننك التعديلت إننن إلتزم المطورون بإضافة
تعليقات مفيدة مع كل عملية إيداع يقومون بها.
دليل قوي في المحكمة لثبات تطوير البرمجية من رخلل
عرض مراحل تطويرها.
17.
فوائد إستخدام نظام2( (CVS
يقوم هذا النظام بحفنظ الملفات ضمنن مكننز مركزي، مع
توفينر نسنخ إحتياطينة موزعنة علنى أنظمنة المطورين
المحلينة )نسنخ العمنل التني سنبق أنن إسنتخرجوها من
المكنز(.
تمكين فرق العمل المنتشرة جغرافيا من العمل على ذات
المشروع )كما هي حال المشاريع المفتوحة المصدر(.
حفيظ كافية الدصيدارات بدءيا مين تارييخ إستخدام النظام،
على عكس أسلوب النسخ الحتياطي حيث نتخلص عادة
من النسخ القديمة بعد فترة.
18.
فوائد إستخدام نظام3( (CVS
إمكانية توليد تقرير يوضح مراحل تطور المشروع عبر
الزمن لستقراء فعالية عملية التطوير.
توفينر إمكانينة التراجنع عنن أني منن التعديلت التني تمت
رخلل أني فترة زمنينة بسنهولة و اسنترجاع حالة الملفات
كما كانت قبل تاريخ معين.
القتصناد فني اسنتخدام عرض نطاق التصنال الشبكي
المتوفنر ومسناحة التخزينن علنى المخدم منن رخلل حفظ
التعديلت نسبة إلى الدصدار السابق فقط.
19.
ما ل يقومبه نظام !CVS
ل يعتبر نظام CVSوسيلة للتصال بين أعضاء الفريق
البرمجي، وليس بديل للعمل الجماعي.
ل يعتبر نظام CVSنظاما رخادصا بتتبع الرخطاء ومتابعة
عملية إدصلحها.
ل يوفر نظام CVSأي أدوات لفحص الشيفرة البرمجية
وإرختبارها.
20.
خلةصة
يعتنبر نظام CVSالقائنم مننذ العام 6891 نظامنا مستقرا
وناضجا ومستخدما على نطاق واسع، وهو متوفر أيضا
علنى كافنة أنظمنة التشغينل الشائعنة مثل Windowsو
Linuxوكذلك ،Macهذه إضافة إلى تضمينه في العديد
منن بيئات التطوينر المتكاملنة IDEمثل NetBeansو
Eclipseو JDeveloperو .Dreamwaver
يسنمح لنك نظام CVSبتوثينق تعديلتنك وحفنظ نسخ
إحتياطينة منن رخلل إيجاد منا تنم تعديلنه نسنبة للدصدار
السابق