نظام التحكم في المراجعة

نظام التحكم في المراجعات ( RCS ) هو تطبيق مبكر لنظام التحكم في الإصدارات (VCS). وهو عبارة عن مجموعة من أوامر يونكس التي تسمح لعدة مستخدمين بتطوير وصيانة أكواد البرامج أو المستندات. باستخدام RCS، يمكن للمستخدمين إجراء مراجعاتهم الخاصة على المستند، وحفظ التغييرات، ودمجها. طُوّر RCS في الأصل للبرامج، ولكنه مفيد أيضًا للمستندات النصية أو ملفات التكوين التي تُراجع بشكل متكرر. [ 4 ]

تاريخ

تطوير

أُصدر نظام RCS لأول مرة عام 1982 [ 4 ] على يد والتر إف. تيتشي في جامعة بيردو . وكان بمثابة أداة بديلة لنظام التحكم في شفرة المصدر (SCCS) الذي كان شائعًا آنذاك، والذي كان يُعتبر تقريبًا أول برنامج للتحكم في الإصدارات (طُوّر عام 1972 على يد مطوري يونكس الأوائل). [ 5 ] ويتولى مشروع جنو حاليًا صيانة نظام RCS . [ 6 ]

من الابتكارات في نظام RCS اعتمادُ التغييرات العكسية . فبدلاً من تخزين كل مراجعة في ملف كما يفعل نظام SCCS مع التغييرات المتداخلة ، يخزن RCS مجموعة من تعليمات التحرير للعودة إلى إصدار سابق من الملف. ويدّعي تيتشي أن هذه الطريقة أسرع في معظم الحالات لأن المراجعات الحديثة تُستخدم بشكل متكرر. [ 4 ]

في البداية (حتى الإصدار 3، الذي تم توزيعه في 4.3BSD)، حظرت رخصته إعادة التوزيع دون إذن كتابي من والتر تيشي: [ 7 ]

جميع الحقوق محفوظة © 1982 لوالتر ف. تيتشي [...]. لا يجوز بيع أو توزيع أي جزء من هذا البرنامج بأي شكل أو وسيلة دون الحصول على إذن كتابي مسبق من المؤلف.

كان ملف READ_ME مرفقًا ببعض إصدارات RCS مما زاد من تقييد التوزيع، على سبيل المثال، في 4.3BSD-Reno . [ 8 ]

في عام 1989 تقريبًا، تم تعديل رخصة RCS لتصبح مشابهة لرخص BSD المعاصرة ، كما يتضح من التعليقات في شفرة المصدر. [ 9 ]

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

تم توزيع RCS 4.3، الذي صدر في 26 يوليو 1990، "بموجب ترخيص من مؤسسة البرمجيات الحرة "، وفقًا لشروط رخصة جنو العمومية العامة . [ 10 ]

يوفر نظام OpenBSD تطبيقًا مختلفًا يسمى OpenRCS ، وهو مرخص بموجب ترخيص BSD. [ 11 ]

سلوك

طريقة التشغيل

يعمل RCS بكفاءة مع الملفات المستقلة ويدعم المشاريع متعددة الملفات، ولكن وفقًا للمعايير الحديثة، يُعد هذا الدعم محدودًا: إذ يُمكن لـ RCS تجميع إصدارات ملفات متعددة في إصدار واحد (عبر "أسماء رمزية") [ 12 ولكنه يفتقر إلى دعم الالتزام الذري عبر هذه الملفات. ورغم أنه يوفر إمكانية التفرع، إلا أن صيغة الإصدار معقدة. وبدلًا من استخدام الفروع، تستخدم العديد من الفرق آلية القفل المدمجة وتعمل على فرع رئيسي واحد . [ 4 ]

الاستخدام

يعتمد نظام RCS على استخدام "مجموعات المراجعة"، وهي عبارة عن مجموعات من الملفات التي تم إيداعها باستخدام أوامر co(checkout) و ci(check-in). افتراضيًا، يُحذف الملف المُودع ويُستبدل بملف ".v" (أي أن foo.rb عند إيداعه يصبح foo.rb,v)، والذي يمكن لأي شخص لديه صلاحية الوصول إلى مجموعة المراجعة سحبه. تعكس ملفات RCS (وهي أيضًا ملفات بامتداد ".v") الملف الرئيسي مع إضافة بيانات وصفية في أسطره الأولى. بعد الإيداع، يخزن RCS المراجعات في بنية شجرية يمكن تتبعها، مما يسمح للمستخدم باستعادة الملف إلى شكله السابق عند الحاجة. [ 4 ]

المزايا

  • هيكل بسيط وسهل الاستخدام [ 13 ]
  • لا يعتمد حفظ المراجعات على مستودع مركزي [ 13 ]

العيوب

  • هناك مستوى أمان ضئيل، بمعنى أن سجل الإصدارات قابل للتعديل من قبل المستخدمين. [ 13 ]
  • لا يمكن إلا لمستخدم واحد العمل على ملف واحد في كل مرة. [ 14 ]

ملحوظات

  1. GPL-3.0-or-later منذ 2010-06-24.

انظر أيضاً

مراجع

  1. ثين-ثي نغوين (2 فبراير 2022). "إصدار GNU RCS 5.10.1 متوفر" . تم الاطلاع عليه بتاريخ 3 فبراير 2022 .
  2. دليل مرجعي لنظام V-System 6.0
  3. "تحديث الترخيص إلى GPLv3+" . 24 يونيو 2010.
  4. 1 2 3 4 5 تيتشي، والتر (1982). "تصميم وتنفيذ وتقييم نظام التحكم في المراجعات" . وقائع المؤتمر الدولي السادس لهندسة البرمجيات ICSE '82 : 58-67 . تم الاطلاع عليه بتاريخ 12 يونيو 2012 .
  5. ريموند، إريك. "فهم أنظمة التحكم في الإصدارات (مسودة)" . www.catb.org . تم الاطلاع عليه بتاريخ 13 فبراير 2017 .
  6. "RCS" . مشروع جنو . مؤسسة البرمجيات الحرة. 22 يناير 2015. تم الاطلاع عليه بتاريخ 27 يونيو 2015 .
  7. "4.3BSD - /usr/src/new/rcs/src/rcsdiff.c" . وثائق ركن الحوسبة القديمة لوالتر. 19 مايو 1986. تم الاطلاع عليه بتاريخ 15 نوفمبر 2014 .
  8. "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/READ_ME" . خادم FTP ( FTP ). 27 فبراير 1989.(للاطلاع على المستندات، انظر صفحة المساعدة: FTP )
  9. "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/rcs.c" . خادم FTP ( FTP ). 15 أغسطس 1989.(للاطلاع على المستندات، انظر صفحة المساعدة: FTP )
  10. ملف README الخاص بـ RCS 4.3.
  11. "rcs(1) - صفحات دليل OpenBSD" . man.openbsd.org . تم الاطلاع عليه في 5 سبتمبر 2024 .
  12. ف. تيشي، والتر: "RCS: نظام للتحكم في الإصدارات"، صفحة 15. تقارير فنية لقسم علوم الحاسوب، جامعة بيردو. ورقة بحثية رقم 394. https://docs.lib.purdue.edu/cstech/394
  13. ١ ٢ ٣ "مفاهيم التحكم في المراجعات - نظام التحكم في المراجعات (RCS)، ونظام الإصدارات المتزامنة (CVS)، ونظام Subversion" . مدونة IT PASSION - "مدونة متخصصي تكنولوجيا المعلومات" . ١٠ ديسمبر ٢٠٠٨. تاريخ الاطلاع: ٢٠ فبراير ٢٠١٧ .
  14. شتاينبرغ، فرانك. "أنظمة التحكم في المراجعات (RCS، CVS، Subversion، Git)" . جامعة براونشفايغ التقنية . تم الاطلاع عليه بتاريخ 20 فبراير 2017 .

ملحوظات

للمزيد من القراءة