wait please
شکیبا باشید
صفحه اصلی آرشیو اخبار و مقالات طراحی سایت سورس کنترل چیست؟ SVN چیست؟

سورس کنترل چیست؟ SVN چیست؟

سورس کنترل چیست؟ SVN چیست؟

سرس کنترل عبارت است از سیستمی برای کنترل و پی‌گیری تغییرات واحد اطلاعاتی دخیل در ایجاد یک برنامهٔ نرم‌افزاری. واحد اطلاعاتی مزبور می‌تواند شامل فایل‌های سرس، راهنماها، میک فایل‌ها، اشیاء نرم‌افزاری و .... سرس کنترل به خصوص در جایی اهمیت پیدا می‌کند که چند برنامه‌نویس بخواهند روی منابع مشترکی کار کنند. در این صورت است که مفاهیمی همانند مقایسه، ترکیب، تداخل و ... پیش می‌آیند که سرس کنترل باید بتواند راه حل مناسبی برای هر یک ارایه دهد. امروزه معمولاً از ابزارهای نرم‌افزاری برای این کار استفاده می‌شود. با این حال هنوز هم هستند شرکتهایی که از روش‌های قدیمی مانند داشتن یک فایل متن در هر پوشه، هارد کپی و ... استفاده می‌کنند.

سرس کنترل عبارت است از سیستمی برای کنترل و پی‌گیری تغییرات واحد اطلاعاتی دخیل در ایجاد یک برنامهٔ نرم‌افزاری. واحد اطلاعاتی مزبور می‌تواند شامل فایل‌های سرس، راهنماها، میک فایل‌ها، اشیاء نرم‌افزاری و .... سرس کنترل به خصوص در جایی اهمیت پیدا می‌کند که چند برنامه‌نویس بخواهند روی منابع مشترکی کار کنند. در این صورت است که مفاهیمی همانند مقایسه، ترکیب، تداخل و ... پیش می‌آیند که سرس کنترل باید بتواند راه حل مناسبی برای هر یک ارایه دهد. امروزه معمولاً از ابزارهای نرم‌افزاری برای این کار استفاده می‌شود. با این حال هنوز هم هستند شرکتهایی که از روش‌های قدیمی مانند داشتن یک فایل متن در هر پوشه، هارد کپی و ... استفاده می‌کنند.

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

خیلی از ما تا کنون نام نرم افزار های Source Control را نشنیده ایم ، برخی شنیده ولی استفاده نکردایم بعضی دیگر هم بدون این نرم افزار ها حتی یک خط کد حاضر نیستیم بنویسیم !

نرم افزار های Source Control زیادی وجود دارد که برخی از آنها عبارتند از :

نصب و کار کردن با برخی از این نرم افزار ها مانند Source Safe و Team Fundation و Rational Clear بسیار مشکل بوده و توسعه گر را از ادامه کار خسته می کند ، برخی هم فقط برای لینوکس بوده و در ویندوز کارایی ندارند (مانند CVS که نرم افزار بسیار خوبی می باشد) و اما نرم افزار SVN یا Subverion که  یکی از قوی ترین و مشهورترین نرم افزارهای سورس کنترل در دنیا می باشد و علاوه بر سادگی ، رایگان و سورس باز بودن از ویژگی های زیادی نسبت به سایر نرم افزار ها برخوردار است .

این نرم افزار دارای یک سرور و یک کلاینت می باشد ، دقت نمایید که معمولا نرم افزار سرور را در یک PC یا Server جداگانه نصب می کنند تا تمامی سورس ها و نسخه های آن در یک دستگاه دیگر و در یک جای امن باشد ، اما در صورت نداشتن یک دستگاه جداگانه میتوانید سرور و کلاینت را در یک کامپیوتر نصب نمایید .

برای شروع کار ابتدا نرم افزار Visual SVN Server را دانلود کرده و نصب نمایید ، در هنگام نصب تمام موارد را به صورت پیش فرض انتخاب نموده تا به تنظیمات زیر برسید :
 

فیلد Server Port را به 8443 تغییر داده ، همچنین میتوانید فیلد Repositories را به دلخواه تغییر دهید ، این مسیری است که تمام سورس ها و نسخه ها در آن ذخیره خواهد شد ، نحوه تشخیص هویت را هم به صورت پیشفرض Use Subversion Authentication انتخاب نمایید .

دکمه Next را انتخاب کرده و عملیات نصب را به اتمام برسانید .

نرم افزار Visual Svn Server را اجرا کرده و قبل از هرچیز یک User ایجاد نمایید :



پس از ایجاد یک User جدید ، روی درختواره Repositories کلیک راست نموده و گزینه Create New Repository را برگزینید.

در پنچره باز شده نام پروژه خود را وارد نمایید (پروژه ای که قرار است تحت سورس کنترل قرار گیرد ) :



و سپس تیک Creat default structure را بزنید و در نهایت روی دکمه OK کلیک نمایید تا Repository ایجاد شود . تنها چیزی که ما الان لازم داریم آدرس Repository است ، برای اینکار روی Repository که ایجاد کرده اید کلیک راست کرده و گزینه Copy URL to Clipboard را انتخاب نمایید.

این آدرس را در یک جا Paste نمایید چون در مرحله بعد به آن نیاز خواهیم داشت .

اکنون مخزن سورس های ما آمادست ، کار ما با Visual SVN Server تمام شده است ، همچنین اگر این نرم افزار را روی یک PC دیگر نصب کردید کار ما با این PC نیز تمام شده است اکنون به سراغ کامپیوتری که سورس های ما در آن قرار دارد می رویم .

برای کلاینت سورس کنترل، نرم افزار های زیادی وجود دارد از جمله نرم افزار TortoiseSVN که رایگان بوده و میتوانید آن را از اینجا دانلود نمایید .
پس از دانلود و نصب نرم افزار tortoiseSVN به سراغ پوشه پروژه خود بروید ،  روی پوشه پروژه کلیک راست کرده و گزینه SVN Checkout را انتخاب کنید :



 اکنون همان آدرسی که در مرحله قبل ذخیره کرده بودید (توسط Copy URL to Clipboard) را در این فیلد URL of repository وارد نمایید :



به فیلد ckeckout directory بسیار دقت نمایید ، دراین فیلد باید آدرس پوشه پروژه را بدهید ، اگر پروژه شما به نام MyWebsite و در C:InetpubWwwroot قرار دارد checkout directory باید C:InetpubwwwrootMywebsite باشد ، بقیه فیلد ها را هم به صورت پیشفرض رها کنید .

دکمه OK را بفشارید ، احتمالا پیغام The target folder is not empty را دریافت خواهید کرد ، گزینه Yes را انتخاب کنید و سپس Accept Permanently را برگزینید ، در پنجره باز شده Username و Password که در Visual SVN Server ساخته بودید را وارد کرده و تیک Save Authentication را بزنید تا هر دفعه نیاز به وارد کردن این اطلاعات نباشد .

با این کار این پوشه به عنوان سورس Repository شما معرفی خواهد شد .

برای قرار گرفتن سورس ها در Repository کافیست روی پوشه پروژه کلیک راست کرده و این دفعه گزینه "SVN Commit" را بفشارید :
 



 یک پنجر مشابه پنجره زیر گشوده خواهد شد :



 در بخش بالایی (Message) میتوانید توضحیاتی در مورد تغییرات خود روی پروژه بنویسید ، در بخش پایینی فایل هایی که تغییر کرده است نمایش داده شده است ، با انتخاب گزینه Select / Deselect all میتوانید همه فایل ها را انتخاب نمایید . چون بار اولی است که این کار را برای پروژه انجام می دهید لازم است تا همه  فایل ها انتخاب شود بنابراین هم تیک Show universioned files و هم تیک select all را بزنید تا همه فایل ها انتخاب گردد .

کار تقریبا تمام شده است ، فایل های شما در Repository قرار گرفته و ورژن اول سورس شما ایجاد شده است .

از این پس میتوانید پس از تغییر دادن در سورس پروژه (مثلا اضافه کردن یک ماژول و یا برطرف کردن یک Bug) همین کار را تکرار کنید ، یعنی روی پوشه پروژه راست کلیک کرده و گزینه Commit را بفشارید ، پیشنهاد می کنم حتما در قسمت Message توضیحات تغییرات خود را به دقت بنویسید چرا که با زیاد شدن Version ها در پیدا کردن یک نسخه از سورس خود به مشکل بر میخورید.

منبع : Wikipedia