السلام عليكم،

يوجد كثير من الطلبات حول طريقة تنزيل و التعامل مع SVN

اولا يجب التأكد بأنه svnadmin متوفر بالسيرفر اللذي تريد إستخدامه، ولكي تستطيع تنزيل svn استخدم الكودات التاليه

إستخدام الكود اللذى يعمل على سيرفرك
كود:
apt-get install subversion
yum install subversion
طيب الحين نزل البرنامج على السيرفر،

راح نعمل قاعده بيانات لل SVN

كود:
svnadmin create --fs-type fsfs /home/kcoders/svndb
لا تنسى بتغير المسار.


سيقوم الأمر السابق بإنشاء قاعده بيانات فى المكان اللذي إخترته،

كود:
ls /home/kcoders/svndb
الأمر السابق سيقوم بعرض الملفات، ولكن فى الحقيقه هذى الملفات لقاعده البيانات وليس المشروع إستخدم الكود التالي لكي تستطيع مشاهدة الملفات الموجوده

كود:
svn ls file:///home/kcoders/svndb
طيب بعد إنشاء القاعده، يجب إضافة المشروع.


كود:
cd /home/kcoders/project/billing
tree -a
سيعرض الكود السابق ترتيب الملفات اللى توجد داخل ملف المشروع، لا تنسى حذف الملفات اللتى لا تريد أن تكون فى SVN

كود:
svn import /home/kcoders/project/billing file:///home/kcoders/svndb/billing -m 'Initial import'
من خلال الأمر السابق، سيقوم البرنامج بإضافة المشروع إلى قاعده بيانات SVN،

كود:
CD /home/kcoders/www/billing
svn checkout file:///home/kcoders/svndb/billing/
من خلال الكود السابق نقوم بالذهاب إلى مجلد "جديد" للمشروع و نقوم بعمل بسيراد للبرنامج من خلال الكود الثاني

كود:
ls -la
ومن خلال هذا الكود هذا سترى أنه الشروع تم تصديره إلى المجلد، واي تغيرات تقوم بها يجب أن تكون بهذا المجلد وليس المجلد الأول ذو العنوان (/home/kcoders/project/billing)

كود:
svn info
من خلال هذا الكود ستعرف بيانات عن القاعده

طريقة التعامل مع الملفات

اولا قم بإستخدام اي برنامج للتعديل الملفات و قم بتعديل الملفات الموجوده في (/home/kcoders/www/blling)

كود:
svn status
سيعرض لك الأمر التالى أنه يوجد تعديل او حذف او إضافة ملفات جديده من هذا المشروع

فى حال إضافة ملف جديد يجب إضافة بشكل يدوي! بإستخدام الأمر التالى

كود:
svn add classes/db.php classes/db.php
قم بعمل الامر التالى مره آخرى

كود:
svn status
ستجد أنه السطر التالى

كود:
A	classes/db.php
انا لن اتطرق إلى معنى الأحرف ولكن أهم الاحرف هم
A = تعنى إضافة ملف جديد
M = تعنى أنه تعديل تم على الملف
D = تعنى أنه سيحذف الملف
? = تعنى غير معروف

كود:
svn commit -m 'we added new class db.php'
من خلال الكود التالى سيقوم البرنامج بتصدير التعديلات والأضافات إلى قاعده بيانات SVN

حذف و تغير مسمى الملفات

فى حال تغير إسم ملف بالمشروع او حذف ملف يجب إستخدام الكودات التاليه

كود:
svn rename classes/db.mysql.php classes.db.mysqlv4.php
من خلال الكود السابق سيقوم البرنامج بتغير مسمى الملف فى قاعده البيانات

كود:
svn rm classes/db.orcale.php
من خلال الأمر السابق سيقوم البرنامج بحذف الملف من قاعده البيانات

كود:
svn -m commit -m 'we deleted db.orcale.php and we renamed db.mysql.php to db.mysqlv4.php
يجب عمل commit بعد التغيرات لكي يقوم البرنامج بعمل النسخ او بمايسمى (versioning)

طريقة تصدير نسخ سابقه

فى بعض الاحيان تقوم بمسح كود بالغلط وتريد إستعاده

كود:
svn checkout -r 5 file:///home/kcoders/svndb/billing project
سيقوم الكود السابق بإستيراد الكودات فى النسخه الخامسه


كودات و طريقة التعامل مع SVN كثيره منها (tags, branches) ولكن هذى هي أهم الامور اللتى يجب التعلم عليها قبل البدأ فى بحر البرمجيات الكبيره

ويوجد اكثر من برنامج للتعامل مع قواعد بيانات SVN

ومنها Redmine، واللى اقوم انا بإستخدامه، وهو بلغة ruby، لن استطيع شرح الخطوات لتركيب البرنامج لآنه طريقة تركيبه معقده
ويوجد برامج كثيره.

عبدالمحسن المنصور.