این دستور cvsconvert است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
cvsconvert - یک تبدیل Git را انجام دهید و با CVS اصلی آزمایش کنید
خلاصه
cvsconvert [-v] [-n] [-p] [-k expandspec] [repo | مخزن / ماژول]
شرح
cvsconvert یک مخزن CVS را به Git تبدیل می کند و محتویات درخت را بررسی می کند.
در تمام نکات و برچسبهای شاخه برای تأیید اینکه تاریخچهها یکسان هستند.
(یک استثنا: شاخه های gitspace مصنوعی با نام *-UNNAMED-BRANCH ایجاد شده برای جمع آوری
تعهدات CVS بی خانمان بررسی نمی شود. هنگامی که یکی از این موارد باشد، یک هشدار خواهید دید
نادیده گرفته شد.)
آرگومان واحد باید مسیری به دایرکتوری حاوی مخزن یا ماژول aa CVS باشد.
اگر یک دایرکتوری سطح بالای CVS باشد و تنها یک ماژول در زیر ماژول وجود داشته باشد
مشخص نشود
تبدیل Git در فهرستی به نام آرگومان repo با پسوندی باقی میماند
"-git".
رفتار عادی این است که برنامه در مورد هر شاخه و برچسب گزارش می دهد و می گوید "درختان مطابقت دارند
همانطور که انتظار می رود." دو نوع گزارش مشکل وجود دارد:
"فایل تجلی می یابد کار را انجام ندهید همخوانی داشتن": نشان می دهد که نسخه های CVS و Git این نسخه در
تاریخچه شامل برخی از نام های فایل است که با یکدیگر جفت نمی شوند. (Git و CVS
فایل های ignore-pattern نادیده گرفته می شوند و این پیام را راه اندازی نمی کنند.) وقتی این پیام
اتفاق می افتد، فایل های مشترک همچنان برای برابری بررسی می شوند.
"%s و %s هستند ناهمسان": دو فایل CVS و Git متناظر با هم مقایسه نمی شوند. آ
لیست تفاوت دنبال خواهد شد.
عیب یابی
دو نوع اشکال تبدیل غیر جدی وجود دارد: عدم تطابق محتوای فایل به دلیل
فیلدهای کلمه کلیدی گسترش یافته در Masters و فایل های حذف شده در CVS که فقط در
مانیفست gitspace مرتبط با برچسب ها.
شما می توانید عدم تطابق محتوا را به دلیل گسترش کلمات کلیدی به راحتی تشخیص دهید. تولید خواهند کرد
تفاوت های تک خطی خطوط حاوی علائم دلار در اطراف متن کلمه کلیدی. زیرا
فایل های باینری را می توان با گسترش کلمه کلیدی خراب کرد، به طور پیش فرض cvs-fast-export رفتار می کند.
مانند حالت cvs -kb و به تنهایی هیچ کلمه کلیدی را گسترش نمی دهد. بنابراین، شما باید هرگز دیدن
چنین عدم تطابق مگر اینکه گزینه -k را پاس کرده باشید.
با این حال، اگر (الف) فکر میکنید که CVS master ممکن است شامل شود، ممکن است بخواهید -kk را پاس کنید
فیلدهای کلمه کلیدی را گسترش دادید اما نمی خواهید آنها را با دست پاک کنید و (ب) مطمئن هستید
مخزن شما حاوی هیچ فایل باینری نیست که ممکن است با کلمه کلیدی RCS/CVS مطابقت نادرست داشته باشد. اگر شما
در مورد فرض (ب) اشتباه می کنید، شما پیام های هشداری در مورد عدم تطابق محتوا دریافت خواهید کرد
در فایل های باینری
عدم تطابق آشکار در برچسب ها به احتمال زیاد در فایل هایی که در CVS حذف شده اند رخ می دهد
اما تحت تگ های بعدی در تبدیل Git باقی می مانند. شما می توانید شرط بندی کنید که این چیزی است که در حال وقوع است
اگر هنگام جستجوی نام مسیر در مخزن CVS، آن را در اتاق زیر شیروانی پیدا کنید
دایرکتوری.
این گزارشهای جعلی به این دلیل اتفاق میافتند که CVS همیشه اطلاعات کافی را حفظ نمیکند
حذفها را بهطور قابل اعتمادی ردیابی میکند و در رسیدگی به بازبینیهای حالت «مرده» تا حدودی ضعیف است.
برای تطابق کامل CVS و مخازن git، ممکن است لازم باشد از add delete fileops استفاده کنید
تبدیل - یا به احتمال زیاد، موارد موجود را در امتداد شاخههای خود به سمت commit ها برگردانید
که قبل از تگ gitspace - با استفاده از جراح مجدد(1).
عدم تطابق آشکار در جهت دیگر (در CVS وجود دارد، در gitspace وجود ندارد) باید
هرگز رخ نمی دهد اگر این کار را کرد، یک گزارش اشکال ارسال کنید.
هر نوع دیگری از محتوا یا تطابق مانیفست - به ویژه هر کدام در شاخه اصلی - است
خبر بد و نشان دهنده یک ناهنجاری شدید مخزن یا یک اشکال در cvs-fast-export است.
(یا احتمالاً هر دو). هر چنین وضعیتی باید به عنوان یک باگ گزارش شود.
اشکالات تبدیل به طور نامتناسبی در قدیمیترها، شاخهها یا برچسبها رخ میدهند
قبل از اینکه CVS دارای commitid های قابل اعتمادی بود. اغلب کارآمدترین راه حل صرفاً حذف است
شاخه ها و برچسب های ناخواسته؛ جراح مجدد(1) انجام این کار را آسان می کند.
در صورت نیاز به ثبت اشکال، لطفاً از وب سایت پروژه دیدن کنید تا در مورد آن اطلاعات کسب کنید
روش گزارش اشکال هنگام تهیه گزارش کارهای خاصی وجود دارد که می توانید انجام دهید
حل سریع مشکل را محتمل تر می کند.
OPTIONS
-p
گزارش های پیشرفت را از cvs-fast-export در حین اجرا فعال کنید.
-k
یک مشخصات گسترش کلمه کلیدی را به cvs-fast-export(1) و CVS(1).
-n
فقط تست کنید، تبدیل Git را پس از ارسال تشخیص حفظ نکنید.
-v
پرمخاطب. فرمان های فرعی را هنگام اجرا و پیام های اشکال زدایی مختلف نشان دهید.
-q
به cvs-fast-export بگویید بی سر و صدا اجرا شود.
محدودیت ها
اگر برچسبهای CVS که برای Git قانونی نیستند، به خوبی از پس این برنامه بر نمیآیند.
در هنگام تبدیل ضد عفونی شده است.
به دلیل روشی که این برنامه در مورد نیاز CVS برای دایرکتوری CVSROOT کار می کند، آن را انجام می دهد
در این صورت به مجوز نوشتن دایرکتوری در فهرست مخزن نیاز دارد -
در غیر این صورت پس از یک پیام CVS "نتوانست به دست آورد قفل dir در مخزن" لغو می شود. در
محتویات مخزن اصلاح نشده است.
برنامه برای دسترسی به مخزن فقط خواندنی به گزینه cvs -R نیاز دارد. بنابراین خواهد شد
با نسخههای GNU CVS قدیمیتر از 1.12.1 (2005) که این گزینه را ندارند شکست بخورد.
گزارش نویسی اشکالات
گزارش اشکالات به Eric S. Raymond[ایمیل محافظت شده]> صفحه پروژه در
http://catb.org/~esr/cvs-fast-export
با استفاده از خدمات onworks.net از cvsconvert آنلاین استفاده کنید