نوع | |
---|---|
نظام التشغيل | |
النموذج المصدري | |
المطور الأصلي | |
المطورون |
The monotone team |
موقع الويب |
monotone.ca (الإنجليزية) ![]() |
لغة البرمجة |
C++ |
---|---|
الإصدار الأول |
6 أبريل 2003 |
الإصدار الأخير |
|
المستودع | |
الرخصة |
المونوتون هو أداة برمجية حاسوب تخص مصدر مفتوح تقوم بـ التحكّم الموزّع في المراجعة. ويتتبع المونوتون المراجعات التي تمر بها الملفات كما يصنف مجموعات المراجعات في فصائل ويتتبع تاريخها عبر تعديل مسمياتها. يركز المشروع على التكامل في الأداء.[2] فقد صُمم المونوتون للتعامل مع العمليات الموزعة ويستغل بشدّة مبادئ الكتابة المشفرة أو الكتابة ذات توقيع رقمي ليقتفى أثر مراجعات الملف (من خلال SHA-1secured hash) ولتوثيق تحركات المستخدم عبر توقيعات خوارزمية آر إس إيهالمشفرة والشفرة هي توقيع رقمي
نظرًا لأنه يشبه جنو أرك ويختلف عن الإصدار الجزئى أباتشي سبفيرجن، يتعامل المونوتون بأسلوب توزيعي مع التحكم في الإصدار. ويستخدم المونوتون رموز SHA-1 HASh ليحدد الملفات ومجموعات الملفات المخصصة كما هو الحال مع جت وميركوريال في محل المراجعة الخطية للأرقام. ويحتفظ كل مشارك بتاريخ مراجعاته مخزّنًا على قاعدة بيانات إس كيو لايت.
قبل إجراء بعض التحسينات على المراجعة 0.27, يؤكد منوتون على أن التحسين غالبًا ما يعزى إلى الخبرات المبدئية الفقيرة. وتعتبر أولى حركات المستخدم الجديد غالبًا ما تكون المواءمة (مطابقة) بين قاعدة بيانات مونوتون كبيرة، وهو ما يستغرق ساعات بسبب الصلاحية الواسعة وفحص التكامل الذي تنفذه مونوتون حينما تُنقل المراجعات إلى الشبكة. وبمجرد إنشاء القاعدة الأولية (المواءمة), غالبًا ما تستمر التحركات المتوالية بسرعة أكبر. ونظرًا لأننا في يوليو 2011 تحديث، لا يزال هناك مجال للتحسين الإضافي على بعض الوظائف النادرة.
تبدو مونوتون قوية على وجه الخصوص في سير العمل المدمج/المتشعب، وهو ما تحققه جزئيا بالسماح بالمعاينة قبل الدمج [3]
رُغم إن مونوتون تدعُم بالأساس تشكيلة من بروتوكولات الشبكات لمواءمة تفريعات الأكواد، إلا أنها تختصّ الآن باستخدام بروتوكول معتاد يدعى netsync, وهو أقوى وأكفأ ويتشارك في بعض المفاهيم مع cvcup وrsync. (ومع ذلك، وفيما يتعلق بالإصدار 0.27, من المحتمل أنه يستخدم بروتوكول netsync عبر أي مسار يشمل بشكل ملحوظ وصلات ssh). ويمتلك netsync منفذًا لـ أياناالمخصص له (4591) ويتم دعم الإصدارات الأقدم عن طريق مكون إضافي لإجراء تحليل مروري إيثار ريال. وليس هناك خادم مونوتون خاص لأن أي عميل مونوتون يصلح للعمل كخادم.
تشمل التفاصيل الأخرى للمونوتون:
بالنسبة لإصدار يناير 2008 تحديث،As of January 2008[تحديث] تشمل مساوئ مونوتون:
Qt لإدارة قواعد البيانات وساحات العمل.
قدم الإصدار 0.26 من مونتو تغييرات جذرية على البنية الداخلية لقاعدة البيانات منها بنية جديدة تعرف بين مطورين مونوتون بـroaster.[4] ولا تتمكن قواعد البيانات التي أنشأها الإصدار 0.26 من تبادل المراجعات مع قواعد بيانات مونوتون القديمة. ولابد أن تُرقّى قواعد البيانات القديمة أولاً إلى تنسيق جديد. ولا يتفق بروتوكول netsync الجديد مع الإصدارات الأحدث من مونوتون.
تُطبّق المونوتون في اللهجة الجديدة من c++ في مقدمة بوست (مكتبات سي++) ومكتبة Botan للكتابة الشفرية ومكتبة قواعد بيانات إس كيو لايت. وتدعم مونوتون التعديل والتمديد من خلال دوال الهووك المكتوبة في لغة برمجة Lua. وتعمل خاصية بناء العملية في المونوتون عبر buildbot وتشمل اختبارات استرداد واسعة المجال.
في أبريل 2005، أصبح المونوتون موضوع مشوّق للغاية في البرمجيات الحرة والمفتوحة المصدر بعد أن ذكره لينوس تورفالدس كبديل ممكن لـ Bit Keeper في عملية تطوير لينكس. وفي نشر بقائمة المراسلة Linux kernel، أشاد تروفالدز بمونوتون في حين انتقض طريقة الهدم (عمومًا كافة أنظمة التحكم في إصدار خادم العميل):[5]
“ لا تنزعج بإبلاغي عن الطريقة الهدمية. إذا كان الأمر كذلك، فابدأ بالقراءة عن «مونوتون». ويبدوا أنه من أكثر البدائل صلاحية، لكن لا تتملّق المطور كثيرًا حتى لا يجدوا ما يعملوا عليه. فهم على وعى تام بمشاكلي) [5]
بدلاً من تبنى مونوتون، قرر تروفالدز أن يكتب نظامه SCM الخاص، جت. ويستخدم تصميم جيت بعض أفكار مونوتون، لكن المشروعان لا يشتركان في أي كود مصدر رئيسي. وركز جيت أكثر على الأداء العالي، الذي استلهمه من التاريخ الطويل لأنماط التعاون الموزعة عالية الطلب التي استخدمها تروفالدز وكتّاب linux kernel. دار الجدل حول قضيه هامةقالب:اين هي ما إذا كان استبدال bitkeeper ينبغي أن يدعم التقاطية، بينما يستطيع المخزن التفريعى أن يدعم دفعات متداخلة ويرفض غيرها على أساس فردى. ويجادل تروفالدز أن هذا المنهج «ينتج عن الديناميكيّات والحالات النفسيّة الخاطئة في النظام» بنقل العبء إلى المنبع صيانة البرمجيات rather than forcing downstream مخازن معاكسة أكثر من نظيراتها الموافقة وذلك لبذل جهد أكبر للحفاظ على التفريعات من المهملات. وناقش مضيفًا أن مونوتون كانت صائبة في تحولها إلى cherry-picking كجزء تفصيلي لكنها فشلت في تطويعه بما يكفى ليسهل «إلقاء» أي تفريعات غير نظيفة بعد استيفاء غرضها.[6] كما لاحظ تروفالدز أن مونوتون في هذا الوقت لم تحقق مستوى الأداء المطلوب لمشروع بحجم تطوير linux kernel. تسرى هذه الحجة على خلاف ما يعتقده مطوّرو البرامج من أن cherry picking يعد تفصيلة متقدمة لدرجة أن أداة scm لابد وأن تسعى لتدعيمها. وتعتبر أدوات SCM الأخرى، مثل Darcs قويّة في هذه المنطقة على وجه الخصوص. بالنسبة لإصدار 2010 تحديث اعتبارًا من 2010[تحديث]. دعّم كلاً من جيت ومونوتون لبعض الوقت
التدعيم الحالي للبرامج يتم من خلال قوائم المراسلة وآي آر سي و http://wiki.monotone.ca/
{{استشهاد ويب}}
: صيانة الاستشهاد: لغة غير مدعومة (link)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ=
(مساعدة)