لذت برنامه نویسی: مهاجرت از svn به git

اینم یه تجربه پراکنده دیگه!

در محل کار فعلی یکی از اتفاقاتی که بخاطر پیگیری‌های من عملیاتی شده استفاده از سیستم مدیریت نسخه‌هاست. بخاطر نبودن یک سیستم متمرکز مدریت نسخه‌ها برخی از همکارا روی کامپیوتری خودشون svn داشتن و یکی از مراحل این عملیاتی شدن مهاجرت اون repository ها به همراه سابقشون به git که سیستم جدید باشه مهاجرت پیدا کنن.

به علت پشتیانی git از svn این مهاجرت تقریبا آسونه و آموزش‌های زیادی مثل این و این توی اینترنت وجود داره. مراحلش بدون جزئیات ایناست:

  1. ساختن یک فایل mapping از یوزرهای svn به یوزهای git
  2. clone  کردن از svn به git با استفاده از دستور git svn
  3. ساختن یک ریپوزیتوری جدید که دیگه چیزی از svn توش نیست با ریپوزیتوری ساخته شده در مرحله ۲
  4. فرستادن این ریپوزتوری جدید روی سرور

فقط مشکلی که من برخوردم که خیلی وقتم رو گرفت این بود که git svn  فرض میکه ساختار دایرکتوری ها svn استاندارد باشه و اگه نباشه عملیات کلون کردن به درستی انجام نمیشه. راه حل هم اینه که به این دستور بگید که ساختاری که دنبالش میگرده رو از کجا پیدا کنه

همین!