09-10-12, 05:27 PM
كاتب الموضوع : Boutemine Oualid
السلام عليكم و رحمة الله و بركاتهفي هذه الجولة السريعة ، سنتعلم إن شاء الله تعالى استعمال نظام الSubversion لتنسيق العمل الجماعي من الفيجوال ستوديو مباشرة و سيكون العمل على هذا النظام إلزامي للجميع لتعم الفائدة و لنكتسب خبرة في العمل الجماعي على المشاريع المفتوحة المصدر لاحقا.
تعريف الSubversion:
هو نظام لمتابعة و تنسيق العمل الجماعي على المشاريع البرمجية و غيرها
هذا النظام مبني على هندسة الخادم و العميل
الخادم يقوم بعمل دورين:
1. استضافة ملفات المشروع و التحديثات الدورية التي يقوم أعضاء الفريق برفعها إلى السرفر مع التعليقات و التواريخ و جميع المعلومات اللازمة (يمكنك حتى أن تعرف من قام بكتابة سطر معين في ملف و متى)، المكان الذي تخزن فيه على السرفر يسمى Repository
ال Repository يملك مدير و مجموعة من الأعضاء مع صلاحيات مختلفة (قراءة، تعديل، تنزيل الملفات، رفع التحديثات، ....) و المدير هو الذي يقوم بتحديد أعضاء الفريق و صلاحياتهم.
ان كنت تريد أن تملك Repository خاص بك و مجانا يمكنك أن تحصل على مساحة 1.5 جيجا مجانا على الخادم http://xp-dev.com/ كما يمكنك البحث عن خوادم مجانية أخرى لل Repositories
اذن بالمختصر المفيد، ال Repository هو المساحة المشتركة التي تقوم باستظافة جميع ملفات المشروع مع جميع المعطيات الخاصة بالفريق.
2. التنسيق بين أعضاء الفريق بتحرير تقارير و اضافة نظام لتعقب الشوائب و لائحة بريدية اضافة إلى الخدمات القاعدية الأخرى مثل معلومات التعديلات الأخيرة و متى و من طرف من و كيف...
العميل:
العميل عبارة عن برنامج يدعم نظام ال Subversion يقوم بالدخول إلى ال Repository و يقرأ محتوياته.
مهام العميل:
يقوم العميل ب:
- تنزيل ملفات المشروع كلها (ان استلزم الأمر) و حسب صلاحيات المستعمل في ال Repository . عادة ما يتم تنزيل هذه الملفات إلى مجلد ثابت عند المستعمل يسمى بال Working Copy Space حيث يحتوي هذا المجلد على ملفات المشروع و الملفات الأخرى الخاصة بالمعطيات التي يقوم العميل بعرضها.
- البحث عن نسخ الملفات الجديدة التي قام الأعضاء برفعها إلى الRepository و تنزيلها إلى ال Working Copy Space .
- عرض لائحة الملفات (الخاصة بالمشروع فقط مثل ملفات الفئات و غيرها دون الملفات التي يستعملها نظام ال SVN لتخزين الصلاحيات و المعطيات الأخرى) إضافة إلى معطيات عنها مثل آخر عضو قام بتحديثها و متى تم ذلك إضافة إلى التعليق الذي أضافه و أيضا التنقل بين جميع الVersions الخاصة بملف معين و عرضه (عادة في ال IDE).
عادة ما يسمى الجزء من البرنامج العميل الذي يقوم بهذا العمل بال Repository Explorer
يقوم ال Repository Explorer بعرض جميع المجلدات و ملفات المشروع و المعلومات التي تحدثنا عنها كما و يمكن لمدير ال Repository من القيام بعمليات التعديل اليدوية مثل ال الحذف و غيرها من العمليات التي تتطلب صلاحيات المدير.
- تعيين الملفات التي قمت بتعديلها في ال Working Copy Space و اعطائك الصلاحية لرفعها إلى ال Repository مع تعليق بسيط على عملية التعديل (اختياري).
الجزئ الذي يقوم بهذا العمل يسمى عادة بال Working Space Explorer.
- عرض لائحة بالملفات التي قام الأعضاء بتحديثها و التعليقات المرسلة إضافة إلى التواريخ.
لننتقل الآن إلى التطبيق
عادة ما تمتلك بيئة التطوير جميع خصائص ال Client التي تحدثنا عنها سابقا للعمل على ال Repository لكن الفيجوال ستوديو لا يملك نظام لاستعمال ال Subversion مباشرة و لذلك علينا أولا تنزيل إضافة add-in له لكي نستفيد من قدرات هذا النظام.
ملاحظة: يوجد العديد من البرامج التي يمكن استخدامها و لعل أشهرها على نظام التشغيل Windows هو ال Tortoise إلا أنني هنا اخترت اضافة للفيجوال ستوديو لجعل بيئة التطوير الأساس لعمل كل شيء
- أولا نقوم بتنزيل الاضافة ankhSVN و هي اضافة مجانية و مفتوحة المصدر قامت بتطويرها شركة ال COLLABNET -التي يعمل عندها مؤلف الكتاب الأول الذي سنقوم بترجمته ان شاء الله-
http://ankhsvn.open.collab.net/servl...ss?pageID=3794
و اختر النسخة 2 التي تدعم الفيجوال ستوديو 2005 و 2008
- بعد استكمال التنزيل قم بفتح الملف و ابدأ عملية التنصيب و لكن عليك أولا أن تغلق جميع نوافذ ال Visual Studio المفتوحة حتى يتمكن ملف التسطيب من العمل بشكل طبيعي.
- الآن نبدأ استكشاف الاضافة، عند فتحك لل Visual Studio للمرة الأولى يعلمك بأن الاضافة مثبة بصورة صحيحة بعرضها في لائحة الاضافة في ال Splash Screen
استكشاف الاضافة ankhSVN الخاصة بالفيجوال ستوديو
1. ال Repository Explorer
يمكن الوصول إلى ال Repository Explorer باختيار القائمة View ثم ال Repository Explorer (لاحظ الصورة)
الآن سيقوم الفيجوال ستوديو بعرض نافذة ال Repository Explorer (لاحظ الصورة أدناه)
أولا سنضيف إلى قائمة ال Repositories عنوان ال Repository الذي نريد استكشافه من زر الاضافة في شريط الأدوات الخاص بال Repository Explorer
سيطلب منك الفيجوال ستوديو عنوان ال URL الخاص بال Repository عليك بكتابته مثل أي عنوان URL يعني (البروتوكول و العنوان) كما يمكنك الفيجوال ستوديو أيضا من اختيار عنوان قمت بكتابته سابقا حيث يتذكر كل العناوين التي كتبتها
اذا أردت التجريب، فيمكنك الحصول على حساب مجاني على أحد المواقع التالية
http://xp-dev.com/ المفضل لدي
http://www.codespaces.com/
https://opensvn.csie.org/
http://unfuddle.com/
http://www.assembla.com/
http://www.bitbucket.org/
http://sshcontrol.com/
http://www.origo.ethz.ch/
اذا كان ال Repository غير متاح للجمهور (non public) فسيطلب منك الفيجوال ستوديو معلومات الدخول إلى ال Repository (لاحظ الصورة)
و اذا كان عكس ذلك فيمكنك التجول داخل ال Repository و عمل ما تشاء حسب الصلاحيات التي قام المدير باعطائها للزوار
بعدها يمكننا التجول بين ثنايا المشروع (أو المشاريع) التي يحتويها ال Repository و تنزيل ما تشاء (حسب الصلاحيات المتاحة لك) كما يمكنك مشاهدة خصائص الملفات و تنزيلها إلى ال Working Copy Space كما و يمكنك فتحها مباشرة داخل الفيجوال ستوديو ان كان يدعم نوع الملف أو مع برنامج خارجي، كل ذالك بواسطة القائمة المنسدلة التي تظهر بالضغط بالزر الأيمن للماويس على الملف المعروض في الجهة اليسرى من نافذة ال Repository Explorer
نبقى دائما مع ال Repository Explorer و هذه المرة مع شريط الأدوات الخاص به
في أعلى النافذة
شريط الأدوات يتغير حسب العنصر المحدد (ملف أو مجلد)
في حالة الجلد ستظهر لك هذا الشريط
اذا كان العنصر المحدد في ال Repository Explorer عبارة عن ملف سيظهر لك هذا الشريط
(نفس الشريط السابق لكن مع اختلاف بسيط)