ساب‌ورژن

ساب‌ورژن

گروه آموزشی مجموعه تدبیر

کی از بزرگترین دغدغه‌های هر مدیر تیم توسعه نرم‌افزاری مدیریت کدهای پروژه است تا خطاها و یا خراب‌کاری‌های یک برنامه‌نویس منجر به از دست رفتن اطلاعات و کدها در پروژه نشود، تا تغییرات همزمان برنامه‌نویسان روی کدهای پروژه  عملکرد منطقی برنامه را با مشکل مواجه نکند و در هر لحظه بتوان به هر نسخه قدیمی از برنامه بازگشت. برنامه‌های کنترل پروژه برای کمک به مدیران پروژه ساخته شده‌اند تا این دغدغه مدیران را مرتفع کنند.

از بین برنامه‌های کنترل پروژه برنامه SVN پر استفاده‌ترین و مجبوب‌ترین برنامه است. درصد بالایی از برنامه‌های تجاری با کمک این برنامه توسعه داده می‌شوند. SVN مخفف Subversion Version Control یک ابزار کنترل پروژه  است که توسط بنیاد آپاچی و با مجوز آپاچی توسعه پیدا می‌کند. شرکت و سازمان‌هایی مانند مانند بنیاد نرم‌افزار آپاچی، سورس‌فورج، و گوگل‌کد  از اس‌وی‌ان به عنوان زیرساخت برنامه‌های کنترل پروژه و نسخه‌بندی‌شان استفاده می‌کنند.

SVN وظایف زیر را در فرایند توسعه پروژه به عهده دارد:

  • ذخیره همه نسخه‌های فایل و دایرکتوری در طول دوره انجام پروژه
  • ارائه آمار و گزارش عملکرد
  • برگشت هر فایل یا کل پروژه به نسخه‌های پیشین
  • مقایسه و دیف بین نسخه‌های قبلی و فعلی فایل‌ها و در بازه‌های زمانی متفاوت
  • چنانچه کاربران بصورت همزمان یک فایل را ویرایش کنند تغییرات را هماهنگ می‌کند که تغییرات یک کاربر باعث حذف تغییرات کاربر دیگر نشود.

راهنمای نصب و استفاده از subversion در سنت‌اواس:
ابتدا بسته‌های مورد نیاز را نصب می‌کنیم.

فایل تنظیمات subversion را به شکل زیر ویرایش می‌کنیم.

یک مخزن با نام test می‌سازیم مسیر مخزن را ‎/var/www/test قرار می‌دهیم و نام مخزن را تعریف می‌کنیم و در نهایت نوع اعتبار سنجی محل ذخیره شدن اطلاعات و پسورد کاربران را مشخص می‌کنیم.

دستور بالا کاربر svnuser1 را ایجاد می‌کند و پسورد کاربر را در فایل مشخص شده ذخیره می‌‌کند.
پوشه‌ای که فایل‌های مخزن در آن ذخیره خواهد شد را می‌سازیم.

سپس در دایرکتوری مخزن را می‌سازیم.

این دستور تعدادی فایل و دایرکتوری در مخزن ایجاد می‌کند که لیست این فایلها به این شرح است. دایرکتوری conf شامل فایل‌های پیکربندی دایرکتوری db شامل فایل‌های بانک اطلاعاتی BDB دایرکتوری hooks شامل اسکریپت‌هایی که قبل یا بعد از ارسال توسط کاربر اجرا می‌شوند.

مجوز کاربر آپاچی را به مخزن می‌دهیم.

و در نهایت آپاچی را ری‌استارت می‌کنیم.

در مرورگر آدرس زیر را باز کنید.

http://localhost/test/repo

بعد از وارد کردن نام کاربری و کلمه عبوری که در هنگام ساخت کاربر وارد کرده‌اید عبارت repo – Revision 0: /‎ را مشاهده خواهید کرد که نشان دهنده این است که مخزن به درستی تنظیم شده است ولی هنوز کامیت نداریم.
راهنمای subversion پیشنهاد می‌کند بهتر است مخزن شامل دایرکتوری‌های trunk و branches و tags باشد. بنابراین این دایرکتوری‌ها را در مخزن ایجاد می‌کنیم. ابتدا یک تمپلیت می‌سازیم وسپس این تمپلیت را به مخزن ایمپورت می‌کنیم.

مجددا آدرس زیر را باز کنید و تغییرات را مشاهده کنید. شما اولین فایلها را به مخزن کامیت کردید.

http://localhost/test/repo

کلاینت‌ها: کلاینت‌ها با دستورات زیر می‌توانند با مخزن کار کنند.

مشاهده فایل‌ها در مخزن سرور

checkout کردن مخزن با دستور زیر انجام می‌شود. (دریافت یک نسخه از مخزن روی سیستم محلی)

افزودن فایل به مخزن

وضعیت فایل‌های مخزن را نشان می‌دهد.

تغییرات اعمال شده بروی یک فایل بوسیله کاربر را نشان می‌هد.

تغییرات را به یک نسخه قبل برمی‌گرداند.

و اما برای commit و یا checkin کردن از دستور زیر استفاده می‌کنیم.