الصفحة الرئيسية » howto » تتبع الإصدار مع التخريب (SVN) للمبتدئين

    تتبع الإصدار مع التخريب (SVN) للمبتدئين

    هل سبق لك أن أردت العمل في مشروع مع القدرة على تتبع التغييرات الخاصة بك وكذلك التراجع عنها؟ كيف تشرح Geek كيف تستخدم نظام تتبع النسخة الشائعة ، Subversion (a.k.a SVN).

    الصورة من الواضح غامضة

    Prelog

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

    نظرة عامة

    قد يكون هناك العديد من الأسباب التي تجعلك ترغب في أن تكون قادرًا على "التحقق" من أحدث رمز لمشروع برمجي يستخدم نظام إصدار. يتيح لك القيام بذلك الاستفادة من أحدث التغييرات التي لم يتم إصدارها بعد ، والمساعدة في الاختبار وحتى التطوير. في هذا الدليل ، سنتناول بعض مصطلحات SVN الأساسية ، ونعرض كيفية تثبيت عميل SVN على Linux ، و Windows ، وإذا كان لديك جهاز توجيه OPKG ممكّنًا لـ DD-WRT. لقد قمنا أيضًا بتضمين مثال لمشروع يمكنك التحقق منه واستخدامه لجهاز التوجيه المذكور.

    ما هو التخريب?

    التخريب ليس بأي حال من الأحوال نظام التحكم في الإصدار الوحيد والبدائل تشمل Git (التي أنشأها لينوس تورفالدس مؤسس لينكس النواة) ، Mercurial و PerForce على سبيل المثال لا الحصر. مع ذلك ، إنها واحدة من تلك المجانية ، إنها ناضجة وتستخدم على نطاق واسع في جميع أنحاء العالم.

    من التخريب "الكتاب الأحمر":

    Subversion هو مصدر مجاني / مفتوح نظام التحكم في الإصدار (VCS). بمعنى ، يدير Subversion الملفات والدلائل ، والتغييرات التي أجريت عليها ، مع مرور الوقت. يتيح لك هذا إمكانية استرداد الإصدارات الأقدم من بياناتك أو فحص تاريخ تغيير بياناتك. في هذا الصدد ، يفكر العديد من الناس في نظام التحكم في الإصدارات كنوع من "آلة الزمن".

    ملاحظة: هذا الكتاب هو جمع النهائي من المعرفة حول التخريب وينصح لك للإشارة إليها على جميع المواضيع ذات الصلة التخريب.

    ما هو الإصدار?

    الإصدار هو عملية يتم فيها حفظ حالة المشروع في نقطة زمنية. غالبًا ما يُستخدم هذا النوع من الإجراءات لإدارة تطوير البرامج ، بحيث يمكن أن يستمر العمل في تحسين المشروع أو إضافة ميزات ، مع القدرة على تتبع ما تم تغييره من آخر نقطة "حفظ" عامة. وللتفصيل ، يمكن أن يكون هذا النوع من الإجراءات مفيدًا لشخص واحد ، ولكن أكثر من ذلك بالنسبة لمجموعة من الناس ، كلهم ​​يعملون في نفس المشروع. وذلك لأن ، عادة ، عند العمل في مشروع كمجموعة ، هناك توزيع للمسؤوليات وتغيير مختلف الناس جوانب مختلفة من المشروع. بدون وجود آلية إصدار ، سيكون من الصعب جدًا الحفاظ على مزامنة الجميع لأحدث تغييرات العمل من أي شخص آخر.

    المصطلح

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

    مراجعة

    عندما يتم إنشاء مستودع ، يتم منحه رقم المراجعة للصفر (0). يتم زيادة هذا الرقم بمقدار واحد (1) في كل مرة يتم فيها تنفيذ الالتزام. رقم المراجعة عالمي للمستودع. بمعنى أنه لا يوجد رقم مراجعة فردي للملفات الفردية في المستودع ، حتى إذا لم يتغير شيء في ذلك الملف لهذا الالتزام المحدد.

    نسخة العمل

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

    تحديث وحل النزاعات

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

    دمج

    يشير الدمج إلى العملية التي يتم بها دمج الشفرة التي تم تغييرها في إصدار واحد. قد يترتب على حل النزاعات.

    يرتكب

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

    سير العمل

    إن سير العمل الأساسي من منظور المستخدم عند استخدام التخريب هو:

    1. تحقق من الشفرة الموجودة (عادة ما تكون "الرأس").
    2. إجراء تغييرات وإضافة ملفات وعموم تطوير التعليمات البرمجية.
    3. قم بالتحديث إلى أحدث إصدار ، للتأكد من أن نسختك المحلية متزامنة مع التحديثات في المستودع.
    4. دمج محلي وحل النزاعات إذا لزم الأمر.
    5. ارتكب التغييرات المدمجة في المستودع.
    6. الخطوة غوتو 2.

    فلنسرع

    تثبيت العميل

    لكي تتمكن من استخدام التخريب ، تحتاج إلى تثبيت العميل على جهازك.

    على لينكس

    ما عليك سوى تثبيت الحزمة. على Ubuntu / Mint ، سيتم ذلك مع:

    الموهبة سودو تثبيت التخريب

    على DD-WRT

    إذا كنت قد اتبعت "كيفية تثبيت البرنامج الإضافي على جهاز التوجيه المنزلي (DD-WRT)" ، يمكنك تثبيت عميل svn بمجرد إصدار:

    تحديث opkg opkg install subversion-client

    على ويندوز

    في حين أننا قد نبدأ المستخدمين المهوسين العميق في نسيان أن واجهة المستخدم الرسومية موجودة في بعض الأحيان ، وليس لدى الجميع. إذا كنت تريد استخدام عميل windows للاتصال بمستودع SVN ، فإن أكثرها شعبية هو "Tortoise". لاستخدامها ، ما عليك سوى تنزيل البرنامج وتثبيته في النمط "التالي ، التالي ، التالي" المنتظم.

    إنشاء "مستودع"

    في حين أننا لن نتناول الكثير من التفاصيل حول كيفية إعداد خادم التخريب في هذا الدليل ، فإن بديل Google ليس بداية سيئة للمستخدم المبتدئ. لإنشاء مستودع Google:

    • توجه إلى موقع استضافة Google Code و "أنشئ" مشروعًا جديدًا.
    • في الصفحة التالية ، املأ الحقول المطلوبة واختر نوع "نظام التحكم في الإصدار" للتخريب.

      ملاحظة: قد ترغب في إلقاء نظرة خاطفة على الاختلاف بين التراخيص التي تقدمها Google ، قبل تحديد واحد للمشروع.
    • انقر فوق "إنشاء مشروع".
    "الخروج" نسخة العمل الخاصة بك

    بمجرد إنشاء مشروعك ، يجب أن تكون قادرًا على العثور على إرشادات حول كيفية الوصول إليه في علامة التبويب "المصدر".

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

    ملاحظة واحدة عن مشروع hotfortech: يهدف هذا المشروع إلى أن يكون غلافًا للميزات التي تمت إضافتها إلى DD-WRT حول How-To Geek (التي أستخدمها شخصيًا) بالإضافة إلى بعض التعديلات الشخصية. في حين أن هذا المشروع مصمم للعمل جنبا إلى جنب مع المقالات المنشورة هنا على howtogeek ، فإنه لا يزال مشروعي الخاص. أي أنها مناسبة جداً لموجهي Buffalo (هندسة AR71xx) ، نزواتي الشخصية و عرضة ل borkage عرضية.

    على Linux / DD-WRT

    قم بإنشاء الدليل للعمل فيه ، على سبيل المثال على DD-WRT ، والتي يمكن أن تكون:

    mkdir -p / jffs / svn؛ cd / jffs / svn

    يتكون الأمر الكامل على Linux من أمر SVN نفسه ، وتوجيه "checkout" ، وعنوان المستودع والدليل للخروج أيضًا. قم بإنشاء دليل فارغ وتنفيذ الأمر أدناه:

    svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

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

    على ويندوز

    لأن السلحفاة هي امتداد للصدفة ، ستحتاج إلى استخدام قائمة سياق مستكشف ملفات Windows (النقر بزر الماوس الأيمن) لاستخدامها. في الواقع ، إذا حاولت الاستدعاء من قائمة البداية ، فستحصل على:

    • قم بإنشاء دليل فارغ.
    • انقر بزر الماوس الأيمن لإظهار قائمة السياق.
    • اختر "SVN Checkout":
    • انسخ والصق رابط المشروع (إذا كان لديك واحد) في مربع النص "URL":
    • اعتمادًا على حجم مشروعك ، قد يستغرق هذا بعض الوقت ، ولكن عند اكتمال "Checkout" ، سترى شيئًا مثل:
    • يمكنك البدء في تطوير.

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

    على Linux / DD-WRT

    إن أمر القيام بذلك على أنظمة POSIX هو ببساطة:

    حتى svn

    على ويندوز

    • انقر بزر الماوس الأيمن في دليل العمل وحدد "تحديث SVN":
    • إذا واجهتك تعارضات ، فحاول اتباع التعليمات التي تظهر على الشاشة واستخدم حكمك فيما يجب فعله بشأنها.

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

    على Linux / DD-WRT

    هذا مثال على الالتزام الذي قطعته على مشروع hotfortech الذي رفعه إلى الإصدار 19:

    svn commit -m "تم تحديثه ليعكس رابط حزمة إعلانات ant-access الجديد"

    على ويندوز

    • انقر بزر الماوس الأيمن في دليل العمل وحدد "SVN Commit":
    • يجب استقبالك من خلال نافذة تمكنك من ملاحظة رسالة سجل:
    • اضغط على OK (موافق) وعندما تتم مطالبتك بكلمة مرور ، امنح كلمة مرور Google التي تم إنشاؤها.
    • إذا كان الالتزام ناجحًا ، يجب أن ترى شيئًا مثل:
    • هذا هو ، يجب أن تكون قادرا على ارتكاب مثل BOSS.

    الملاحظات الختامية
    يجب أن يكون هذا كافيا لتبدأ. ننصحك بقراءة الكتب المرجعية لـ SVN للحصول على فهم أعمق وأفضل لجميع استخدامات SVN وخياراتها ومحاذيرها. أيضا ، نذكركم (مرة أخرى) بأن التخريب ليس نظام التحكم في الإصدار الوحيد هناك وأن GIT (الذي أنشأه لينوس تورفالدس مؤسس لينكس النواة) يبدو أنه يكتسب شعبية في السنوات الأخيرة.

    إذا اخترت تشغيل "running-config.sh" من مشروع hotfortech على جهاز التوجيه ، فستجد أنه سيتم تثبيته حاليًا لك: حزمة الإعلانات المضادة ، ونص البرنامج Opek geek-init ، بالإضافة إلى أشياء مثل GNU الكامل "ls" ، "أقل" ، "BASH" وأكثر من ذلك.

    /jffs/svn/hotfortech-dd-wrt/running-conf.sh

    المزيد من الميزات معلقة وستتم إضافتها في المستقبل.


    سوف مسؤولي النظام رمز طريقها للخروج من الترميز.