امروزه استفاده از سیستمهای کنترل نسخه در فرآیندهای تولید و توسعه نرمافزار، امری اجتنابناپذیر است. کاربری و پیکربندی صحیح این سیستمها بهمنظور کاهش مخاطرات در طول توسعه نرمافزار بسیار حائز اهمیت است. شاید به این موضوع برخورد کرده باشید که بخواهید بخشهای قدیمی از تاریخچۀ مخزن کنترل نسخه خود را حذف کنید تا بهواسطۀ کاهش حجم آن بتوانید بهتر از آن استفاده کنید.
سناریوهای مختلفی ممکن است برای این کار وجود داشته باشد:
- فرآیند توسعه نرمافزار طولانی شده و درنتیجه شاخص revision شما بیشازاندازه رشد کرده و به چهار یا پنج رقم رسیده (۱۰۰۰۰ یا ۲۰۰۰۰) و باعث مشکلات متعدد در نگهداری نسخههایتان شده است.
- سیاستهای ترخیص کد منسجمی دارید و در فواصل مشخصی بسته نرمافزاری خود را ارائه میدهید و دیگر نیازی به تاریخچههای قبل ندارید.
- پس از یک دوره طولانی با ورودیهای زیاد در طول توسعه نرمافزار، اکنون تصمیم دارید نرمافزار خود را به شکل متنباز ارائه کنید و لازم نمیدانید که تاریخچههای قدیمی در اختیار عموم قرار گیرد.
اینها نمونههایی از دلایل مختلفی است که حذف بخشی از تاریخچۀ توسعه در مخزن کنترل نسخه را توجیه میکنند. دلایل دیگری هم ممکن است وجود داشته باشد.
برای ادامه فرض کنید که از سامانه کنترل نسخه مبتنی بر SVN استفاده میکنید و آخرین شاخص مخزن شما نسخۀ ۱۰۰۰۰ است. بهمنظور انتشار عمومی، کد خود را پاکسازی و مرتب کردهاید، بااینحال کدهای قدیمی و بدردنخور همچنان جایی در مخزن جا خوش کردهاند.
هدف، نگهداری تاریخچههای جدیدتر و حذف نسخههای قبل از شاخص ۹۰۰۰ است. راهحل استفاده از دستور dump به شکل زیر است:
به همین سادگی، مخزن جدیدی در اختیار خواهید داشت که تنها شامل تاریخچۀ توسعه از شاخص ۹۰۰۰ تا ۱۰۰۰۰ است. مخزن قدیمی را بایگانی کرده یا دور بریزید و از مخزن جدید برای توسعه استفاده کنید.
در سامانه های کنترل نسخه مبتنی بر GIT، به علت ماهیت توزیع شدۀ آنها، روش کار به شکل دیگری است که در آینده به آن اشاره خواهم کرد.
دیدگاهتان را بنویسید