‫انتخاب بین SVN و git

مدت‌هاست که به دنبال خلاصی از دست SourceSafe هستیم ولی چون رییس نمی‌خواهد، نمی‌شود که نمی‌شود. رییس آنقدر به SourceSafe علاقه دارد که من خودم هم بعضی وقت‌ها یادم می‌رود چرا می‌خواهم آن را کنار بگذارم. برای جایگزینی SourceSafe دو گزینه را نامزد کرده‌ام: SVN و git. ولی متاسفانه انتخاب بین این دو برایم آنقدر سخت شده که بی‌حساب.

git در این دو سه ساله محبوبیت خیلی خیلی زیادی پیدا کرده است و روز به روز در حال پیشی گرفتن از SVN بوده است. git امکانات خیلی خوبی برای تیم‌های decentralize دارد. به عنوان مثال وقتی که سرور خاموش است یا به اینترنت دسترسی ندارید باز هم می‌تواند از نسخه local خود به عنوان یک سورس کنترل استفاده کنید و بعداً که به سرور دسترسی پیدا کردید آن check-inهای local را به راحتی در سرور اصلی check-in کنید.

هم git و هم SVN محبوبیت خوبی در پروژه‌های کدباز دارند ولی حدس می‌زنم جا افتادن git در شرکت‌های ایرانی خیلی طول بکشد. چون با وجود add-inهایی که برای Visual Studio دارد (مثل Git Extension) باز هم مهمترین ابزار کار با آن git bash است که یک ابزار خط فرمانی است. از دیگر سو SVN در حال حاضر توسط تعدادی از برنامه‌نویسان ایرانی و قاعدتا شرکت‌های ایرانی مورد استفاده قرار می‌گیرد. add-inهای معروف‌تری مثل AnkhSVN دارد و رابط معروفی مثل TortoiseSVN دارد.

اگر از git استفاده کنم به طور حتم باید قید جا افتادن آن در شرکت خودمان را هم بزنم، چون ظاهر خط فرمانی و ریشه تمام لینوکسی آن هر کسی را وحشت‌زده می‌کند و اگر از SVN استفاده کنم می‌ترسم که بیخودی خودم را از قافله فناوری عقب انداخته باشم.  خصوصاً این که برای خودم احتمال کار روی پروژه‌ها به صورت decenteralize بیشتر است.

توجه: StackOverflow پر است از بحث‌های مقایسه git و SVN.

به روز رسانی: برای مقایسه این دو از دید یک برنامه‌نویس ایرانی، نگاهی هم به اینجا بیندازید.