| GIT-CVSIMPORT(1) | Git Manual | GIT-CVSIMPORT(1) |
نام (NAME)
git-cvsimport - نجات و استخراج دادهها از سامانه مدیریت نسخه دیگر (CVS)
خلاصه دستور (SYNOPSIS)
git cvsimport [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]
[-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]
[-C <git-repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]
[-a] [-m] [-M <regex>] [-S <regex>] [-L <commit-limit>]
[-r <remote>] [-R] [<CVS-module>]
توضیحات (DESCRIPTION)
هشدار: دستور git cvsimport از نسخه ۲ cvsps استفاده میکند که منسوخ تلقی میشود؛ این دستور با نسخه ۳ و نسخههای بعدی cvsps کار نمیکند. اگر در حال انجام یکباره واردسازی مخزن CVS هستید، استفاده از cvs2git[1] یا cvs-fast-export[2] را مد نظر قرار دهید.
یک مخزن CVS را به گیت وارد میکند. این دستور یا یک مخزن جدید ایجاد میکند یا به طور افزایشی دادهها را به یک مخزن موجود وارد مینماید.
تقسیم گزارش CVS به مجموعهوصلهها توسط cvsps انجام میشود. حداقل نسخه ۲.۱ مورد نیاز است.
هشدار: در برخی شرایط، واردسازی به نتایج نادرستی منجر میشود. لطفاً برای اطلاعات بیشتر بخش «مشکلات (ISSUES)» را ببینید.
شما هرگز نباید کارهای خودتان را روی شاخههایی که توسط git cvsimport ایجاد میشوند انجام دهید. به طور پیشفرض، واردسازی اولیه یک شاخه «master» از شاخه اصلی مخزن CVS ایجاد و پر میکند که آزاد هستید روی آن کار کنید؛ پس از آن، باید واردسازیهای افزایشی یا هر شاخه CVS را خودتان با git merge ادغام کنید. توصیه میشود یک ریموت نامگذاریشده را از طریق -r مشخص کنید تا شاخههای ورودی تفکیک و محافظت شوند.
اگر قصد دارید یک مخزن عمومی مشترک راهاندازی کنید که همه توسعهدهندگان بتوانند روی آن بخوانند/بنویسند، یا اگر میخواهید از git-cvsserver(1) استفاده کنید، احتمالاً تمایل دارید یک کلون خام (bare clone) از مخزن واردشده بسازید و از آن کلون به عنوان مخزن مشترک استفاده کنید. gitcvs-migration(7) را ببینید.
گزینهها (OPTIONS)
-v
-d <CVSROOT>
<CVS-module>
-C <target-dir>
-r <remote>
-o <branch-for-HEAD>
از -o master برای ادامه واردسازی که در ابتدا با ابزار قدیمی cvs2git انجام شده بود استفاده کنید.
-i
-k
-u
-s <subst>
-p <options-for-cvsps>
اگر نیاز به ارسال چندین گزینه دارید، آنها را با کاما جدا کنید.
-z <fuzz>
-P <cvsps-output-file>
-m
-M <regex>
عبارت باقاعده باید نام شاخه مبدأ را در $1 دریافت کند.
این گزینه میتواند چندین بار برای ارائه چندین عبارت باقاعده تشخیص استفاده شود.
-S <regex>
-a
-L <limit>
-A <author-conv-file>
exon=Andreas Ericsson <ae@op5.se> spawn=Simon Pawn <spawn@frog-pond.org> America/Chicago
دستور git cvsimport باعث میشود به نظر برسد که مقادیر GIT_AUTHOR_NAME و GIT_AUTHOR_EMAIL آن نویسندگان از ابتدا به درستی تنظیم شده بودهاند. اگر یک منطقه زمانی مشخص شود، انحراف مربوطه روی GIT_AUTHOR_DATE اعمال خواهد شد.
برای راحتی، هر بار که گزینه -A ارائه میشود این دادهها در $GIT_DIR/cvs-authors ذخیره شده و هر بار که git cvsimport اجرا میگردد از همان فایل خوانده میشوند.
اگر قصد دارید بعداً تغییرات را با git cvsexportcommit مجدداً به CVS صادر کنید، استفاده از این ویژگی توصیه نمیشود.
-R
src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7
اگر فایل از قبل موجود باشد، دادههای ویرایش به آن اضافه میشوند تا هنگام واردسازیهای افزایشی استفاده شوند.
اگر شمارههای ویرایش CVS را در پیامهای کامیت، سامانههای ردیابی باگ، بایگانیهای رایانامه و نظایر آن ذخیره کردهاید، این گزینه ممکن است مفید باشد.
-h
خروجی (OUTPUT)
اگر -v مشخص شده باشد، اسکریپت گزارش میدهد که در حال انجام چه کاری است.
در غیر این صورت، موفقیت به سبک یونیکس نشان داده میشود، یعنی به سادگی با خروج با وضعیت صفر.
مشکلات (ISSUES)
مشکلات مربوط به برچسبهای زمانی:
مشکلات مربوط به شاخهها:
مشکلات مربوط به برچسبها (tags):
اگر شک دارید که هر یک از این مشکلات ممکن است برای مخزنی که میخواهید وارد کنید پیش بیاید، استفاده از cvs2git را مد نظر قرار دهید:
GIT
بخشی از مجموعه git(1)
نکات (NOTES)
- 1.
- cvs2git
- 2.
- cvs-fast-export
| 2026-06-29 | Git 2.55.0 |