ساب‌ورژن

دسته بندی: آموزش, لینوکس
ساب‌ورژن

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

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

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

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

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

yum install mod_dav_svn subversion

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

nano /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /test>
DAV svn
SVNParentPath /var/www/test
AuthType Basic
AuthName "Test Subversion repositories"
AuthUserFile /etc/svnpassword
Require valid-user
</Location>

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

htpasswd -cm /etc/svnpassword svnuser1
htpasswd -m /etc/svnpassword svnuser2

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

mkdir /var/www/test

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

cd /var/www/test
svnadmin create repo

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

حتما بخوانید:  آزاد کردن RAM (رم) در لینوکس

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

chown -R apache.apache repo

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

service httpd restart

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

http://localhost/test/repo

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

mkdir -p /home/user/svn-structure-template/{trunk,branches,tags}
svn import -m 'comment' /home/user/svn-structure-template/ http://localhost/test/repo/

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

http://localhost/test/repo

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

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

svn list http://localhost/test/repo/trunk

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

svn checkout  http://localhost/test/repo

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

 svn add file

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

svn status

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

 svn diff file

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

 svn revert file

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

 svn commit -m 'changes!'

 

امتیاز شما

مایلید هر دو هفته یک ایمیل مفید دریافت کنید؟

ما را در شبکه‌های اجتماعی دنبال کنید

همچنین شاید دوست داشته باشید!

نظرات کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست