.ds Rv 5.10.1 .ds Dt 2022-02-03 .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .ds o \*r file .if n .ds - \%-- .if t .ds - \(em .TH CO 1 "\*(Dt" "GNU RCS \*(Rv" .SH "نام (NAME)" co \- استخراج ویرایش‌های RCS .SH "خلاصه دستور (SYNOPSIS)" .B co .RI [ گزینه‌ها ] " فایل " .\|.\|. .SH "توضیحات (DESCRIPTION)" .B co یک ویرایش را از هر فایل \*r بازیابی کرده و آن را در فایل کاری متناظر ذخیره می‌کند. .PP نام‌های فایلی که با یک پسوند \*r مطابقت دارند، نشان‌دهندهٔ فایل‌های \*r هستند؛ سایر نام‌ها نشان‌دهندهٔ فایل‌های کاری می‌باشند. نام‌ها همان‌طور که در .BR ci (1) توضیح داده شده است، با یکدیگر جفت می‌شوند. .PP ویرایش‌های یک فایل \*r می‌توانند به‌صورت قفل‌شده یا قفل‌نشده استخراج شوند. قفل‌کردن یک ویرایش از به‌روزرسانی‌های هم‌پوشان جلوگیری می‌کند. ویرایشی که برای خواندن یا پردازش (مانند کامپایل کردن) استخراج می‌شود، نیازی به قفل‌شدن ندارد. ویرایشی که برای ویرایش و ثبت بعدی (checkin) استخراج می‌شود، معمولاً باید قفل شود. استخراج همراه با قفل در صورتی که ویرایش مورد نظر برای استخراج در حال حاضر توسط کاربر دیگری قفل شده باشد، با شکست مواجه می‌شود. (یک قفل را می‌توان با .BR rcs "(1) شکست.)\ \&" استخراج همراه با قفل همچنین مستلزم آن است که فراخواننده در فهرست دسترسی فایل \*r باشد، مگر آنکه مالک فایل یا مدیر سیستم (superuser) باشد، یا فهرست دسترسی خالی باشد. استخراج بدون قفل مشمول محدودیت‌های فهرست دسترسی نبوده و تحت تأثیر وجود قفل‌ها قرار نمی‌گیرد. .PP یک ویرایش توسط گزینه‌های مربوط به شمارهٔ ویرایش یا شاخه، تاریخ/زمان ثبت، نویسنده، یا وضعیت انتخاب می‌شود. هنگامی که گزینه‌های انتخاب به‌صورت ترکیبی اعمال شوند، .B co جدیدترین ویرایشی را که تمامی آن‌ها را برآورده کند بازیابی می‌کند. اگر هیچ‌یک از گزینه‌های انتخاب مشخص نشده باشد، .B co جدیدترین ویرایش را از شاخهٔ پیش‌فرض بازیابی می‌کند (معمولاً شاخهٔ اصلی یا trunk؛ گزینهٔ .B \-b از .BR rcs (1) را ببینید). یک شمارهٔ ویرایش یا شاخه می‌تواند به هر یک از گزینه‌های .BR \-f ، .BR \-I ، .BR \-l ، .BR \-M ، .BR \-p ، .BR \-q ، .BR \-r یا .BR \-u ضمیمه شود. گزینه‌های .B \-d (تاریخ)، .B \-s (وضعیت)، و .B \-w (نویسنده) از یک شاخهٔ منفرد، یعنی شاخهٔ .I انتخابی (selected)، استخراج را انجام می‌دهند که این شاخه یا توسط یکی از گزینه‌های .BR \-f ، \&.\|.\|.، .BR \-u یا توسط شاخهٔ پیش‌فرض مشخص می‌شود. .PP دستور .B co که روی یک فایل \*r بدون هیچ ویرایشی اعمال شود، یک فایل کاری با طول صفر ایجاد می‌کند. .B co همواره جایگزینی کلمات کلیدی را انجام می‌دهد (زیر را ببینید). .SH "گزینه‌ها (OPTIONS)" .TP .BR \-r [\f2rev\fP] جدیدترین ویرایشی را که شمارهٔ آن کوچک‌تر یا مساوی .IR rev است بازیابی می‌کند. اگر .I rev به‌جای ویرایش، نشان‌دهندهٔ یک شاخه باشد، جدیدترین ویرایش روی آن شاخه بازیابی می‌شود. اگر .I rev مشخص نشود، جدیدترین ویرایش روی شاخهٔ پیش‌فرض (گزینهٔ .B \-b از .BR rcs (1) را ببینید) بازیابی می‌شود. اگر .I rev برابر .BR $ باشد، .B co شمارهٔ ویرایش را از مقادیر کلمات کلیدی موجود در فایل کاری تعیین می‌کند. در غیر این صورت، یک ویرایش از یک یا چند فیلد عددی یا نمادین تشکیل می‌شود که با نقطه از هم جدا شده‌اند. اگر .I rev با یک نقطه آغاز شود، شاخهٔ پیش‌فرض (معمولاً شاخهٔ اصلی یا trunk) به ابتدای آن افزوده می‌شود. اگر .I rev یک شمارهٔ شاخه باشد که به دنبال آن یک نقطه آمده است، جدیدترین ویرایش آن شاخه استفاده می‌شود. معادل عددی یک فیلد نمادین با گزینهٔ .B \-n از دستورهای .BR ci (1) و .BR rcs (1) مشخص می‌شود. .TP .BR \-l [\f2rev\fP] مشابه .BR \-r ، با این تفاوت که ویرایش بازیابی‌شده را برای فراخواننده قفل نیز می‌کند. .TP .BR \-u [\f2rev\fP] مشابه .BR \-r ، با این تفاوت که اگر ویرایش بازیابی‌شده توسط فراخواننده قفل شده باشد، قفل آن را باز می‌کند. اگر .I rev مشخص نشود، .B \-u ویرایش قفل‌شده توسط فراخواننده را در صورت وجود بازیابی می‌کند؛ در غیر این صورت، جدیدترین ویرایش را از شاخهٔ پیش‌فرض بازیابی می‌نماید. .TP .BR \-f [\f2rev\fP] بازنویسی فایل کاری را اجبار می‌کند؛ در ترکیب با .BR \-q مفید است. همچنین بخش .SM "FILE MODES" در زیر را ببینید. .TP .B \-kkv رشته‌های کلمات کلیدی را با استفاده از قالب پیش‌فرض تولید می‌کند، مثلاً .B "$\&Revision: \*(Rv $" برای کلمهٔ کلیدی .BR Revision . نام قفل‌کننده در مقدار رشته‌های کلمات کلیدی .BR Header ، .BR Id و .B Locker تنها زمانی درج می‌شود که فایل در حال قفل‌شدن باشد، یعنی توسط .B "ci\ \-l" و .BR "co\ \-l" . این حالت پیش‌فرض است. .TP .B \-kkvl مشابه .BR \-kkv ، با این تفاوت که اگر ویرایش داده‌شده در حال حاضر قفل باشد، نام قفل‌کننده همیشه درج می‌شود. .TP .B \-kk تنها نام کلمات کلیدی را در رشته‌های کلمات کلیدی تولید می‌کند؛ مقادیر آن‌ها حذف می‌شود. بخش .SM "KEYWORD SUBSTITUTION" در زیر را ببینید. برای مثال، برای کلمهٔ کلیدی .BR Revision ، رشتهٔ .B $\&Revision$ را به‌جای .BR "$\&Revision: \*(Rv $" تولید می‌کند. این گزینه برای نادیده گرفتن تفاوت‌های ناشی از جایگزینی کلمات کلیدی هنگام مقایسهٔ ویرایش‌های مختلف یک فایل مفید است. پیام‌های گزارش حتی در صورت مشخص شدن .B \-kk پس از کلمات کلیدی .B $\&Log$ درج می‌شوند، زیرا این عمل هنگام ادغام تغییرات معمولاً مفیدتر است. .TP .B \-ko رشتهٔ کلمهٔ کلیدی قدیمی را که درست پیش از ثبت (checkin) در فایل کاری وجود داشت تولید می‌کند. برای مثال، برای کلمهٔ کلیدی .BR Revision ، در صورتی که رشته هنگام ثبت فایل به آن صورت بوده باشد، رشتهٔ .B "$\&Revision: 1.1 $" را به‌جای .B "$\&Revision: \*(Rv $" تولید می‌کند. این گزینه می‌تواند برای قالب‌های فایلی مفید باشد که نمی‌توانند هیچ تغییری را در زیررشته‌هایی که تصادفاً به شکل رشته‌های کلمات کلیدی هستند تحمل کنند..TP .B \-kb یک تصویر باینری از رشته کلیدواژه قدیمی ایجاد می‌کند. این گزینه مانند .BR \-ko عمل می‌کند، با این تفاوت که تمام ورودی و خروجی‌های فایل کاری را در حالت باینری انجام می‌دهد. این امر در میزبان‌های Posix و Unix تفاوت چندانی ایجاد نمی‌کند، اما در میزبان‌های شبه\-DOS برای مقداردهی اولیه یک \*o که قرار است برای فایل‌های باینری استفاده شود، باید از .B "rcs\ \-i\ \-kb" استفاده کرد. همچنین، در تمام میزبان‌ها، .BR rcsmerge (1) معمولاً در زمانی که .B \-kb فعال است از ادغام فایل‌ها خودداری می‌کند. .TP .B \-kv تنها مقادیر کلیدواژه را برای رشته‌های کلیدواژه تولید می‌کند. به عنوان مثال، برای کلیدواژه .BR Revision ، به جای .BR "$\&Revision: \*(Rv $" ، رشته .B \*(Rv را تولید می‌کند. این گزینه می‌تواند در تولید فایل‌ها در زبان‌های برنامه‌نویسی که در آن‌ها حذف جداکننده‌های کلیدواژه مانند .B "$\&Revision:\ $" از یک رشته دشوار است، کمک کند. با این حال، پس از حذف نام کلیدواژه‌ها، جایگزینی بعدی کلیدواژه‌ها امکان‌پذیر نخواهد بود، بنابراین این گزینه باید با احتیاط استفاده شود. به دلیل این خطرِ از دست رفتن کلیدواژه‌ها، این گزینه را نمی‌توان با .BR \-l ترکیب کرد، و مجوز نوشتن مالک فایل کاری غیرفعال می‌شود؛ برای ویرایش فایل در دفعات بعد، آن را دوباره بدون .BR \-kv استخراج (check out) کنید. .TP .BR \-p [\f2rev\fP] نسخهٔ بازیابی‌شده را به جای ذخیره در فایل کاری، در خروجی استاندارد چاپ می‌کند. این گزینه زمانی مفید است که .B co بخشی از یک لوله (pipe) باشد. .TP .BR \-q [\f2rev\fP] حالت بی‌صدا؛ پیام‌های عیب‌یابی چاپ نمی‌شوند. .TP .BR \-I [\f2rev\fP] حالت تعاملی؛ از کاربر اعلان و پرسش می‌شود، حتی اگر ورودی استاندارد یک پایانه نباشد. .TP .BI \-d date جدیدترین نسخه در شاخهٔ انتخاب‌شده را که تاریخ/زمان تحویل (checkin) آن کوچک‌تر یا مساوی با .IR date باشد بازیابی می‌کند. تاریخ و زمان را می‌توان در قالبی آزاد مشخص کرد. منطقه زمانی .B LT نمایانگر زمان محلی (local time) است؛ نام‌های دیگر مناطق زمانی رایج نیز شناخته می‌شوند. برای مثال، اگر زمان محلی ۱۱ ژانویه ۱۹۹۰ ساعت ۲۰:۰۰ به وقت Pacific Standard Time (هشت ساعت غربی‌تر از Coordinated Universal Time، (\*u)) باشد، .IR date های زیر با یکدیگر معادل هستند: .RS .LP .RS .nf .ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP 'u .ne 10 \f38:00 pm lt\fP \f34:00 AM, Jan. 12, 1990\fP default is \*u \f31990-01-12 04:00:00+00\fP \*i 8601 (\*u) \f31990-01-11 20:00:00\-08\fP \*i 8601 (local time) \f31990/01/12 04:00:00\fP traditional \*r format \f3Thu Jan 11 20:00:00 1990 LT\fP output of \f3ctime\fP(3) + \f3LT\fP \f3Thu Jan 11 20:00:00 PST 1990\fP output of \f3date\fP(1) \f3Fri Jan 12 04:00:00 GMT 1990\fP \f3Thu, 11 Jan 1990 20:00:00 \-0800\fP Internet RFC 822 \f312-January-1990, 04:00 WET\fP .ta 4n +4n +4n +4n .fi .RE .LP اکثر فیلدها در تاریخ و زمان می‌توانند پیش‌فرض داشته باشند. منطقه زمانی پیش‌فرض معمولاً \*u است، اما می‌توان آن را با گزینهٔ .B \-z تغییر داد. سایر مقادیر پیش‌فرض به ترتیب سال، ماه، روز، ساعت، دقیقه و ثانیه (از بیشترین به کمترین اهمیت) تعیین می‌شوند. حداقل یکی از این فیلدها باید ارائه شود. برای فیلدهای حذف‌شده‌ای که اهمیت بالاتری نسبت به بالاترین فیلد ارائه‌شده دارند، مقادیر فعلی منطقه زمانی در نظر گرفته می‌شوند. برای تمام فیلدهای حذف‌شدهٔ دیگر، کمترین مقادیر ممکن در نظر گرفته می‌شود. به عنوان مثال، بدون .BR \-z ، تاریخ .B "20, 10:30" به طور پیش‌فرض به 10:30:00 \*u از بیستمین روزِ ماه و سال جاری منطقه زمانی \*u تبدیل می‌شود. اگر تاریخ/زمان حاوی فاصله باشد، باید داخل علامت نقل‌قول قرار گیرد. .RE .TP .BR \-M [\f2rev\fP] زمان ویرایش (modification time) فایل کاری جدید را برابر با تاریخ نسخهٔ بازیابی‌شده قرار می‌دهد. از این گزینه با احتیاط استفاده کنید؛ چرا که ممکن است عملکرد .BR make (1) را دچار اختلال کند. .TP .BI \-s state جدیدترین نسخه را در شاخهٔ انتخاب‌شده که وضعیت آن بر روی .IR state تنظیم شده است، بازیابی می‌کند. .TP .BI \-S حالت .I self-same را فعال می‌کند. در این حالت، مالک قفل اهمیتی ندارد، بلکه تنها وجود داشتنِ آن مهم است. در عمل، این بدین معناست که کاربر نمی‌تواند یک نسخه را دو بار استخراج (check out) کند. .TP .B \-T زمان ویرایش (modification time) فایل \*o را حفظ می‌کند، حتی اگر \*o به دلیل افزودن یا حذف یک قفل تغییر کند. این گزینه می‌تواند از کامپایل مجدد گسترده‌ای که توسط وابستگی .BR make (1) یک نسخه دیگر از فایل کاری به \*o ایجاد می‌شود، جلوگیری کند. از این گزینه با احتیاط استفاده کنید؛ این گزینه می‌تواند کامپایل مجدد را حتی در مواقعی که نیاز است متوقف کند، به عنوان مثال، زمانی که تغییر قفل به معنای تغییر در رشته‌های کلیدواژه در فایل کاری دیگر باشد. .TP .BR \-w [\f2login\fP] جدیدترین نسخه در شاخهٔ انتخاب‌شده را که توسط کاربری با نام کاربری .IR login ثبت (check in) شده است، بازیابی می‌کند. اگر آرگومان .I login حذف شود، نام کاربری فراخواننده فرض می‌شود. .TP .BI \-j joinlist یک نسخهٔ جدید تولید می‌کند که حاصل پیوند (join) نسخه‌های موجود در .IR joinlist است. این گزینه تا حد زیادی با .BR rcsmerge (1) منسوخ شده است، اما برای سازگاری با گذشته حفظ شده است. .RS .PP فهرست .I joinlist یک لیست جداشده با کاما از جفت‌هایی با قالب .IB rev2 : rev3, است که در آن .I rev2 و .I rev3 شماره‌های نسخه (نمادین یا عددی) هستند. برای اولین جفت، .I rev1 نشان‌دهنده نسخهٔ انتخاب‌شده توسط گزینه‌های بالا از .BR \-f ، \&.\|.\|.، .BR \-w است. برای سایر جفت‌ها، .I rev1 نشان‌دهنده نسخهٔ تولیدشده توسط جفت قبلی است. (بنابراین، خروجی یک پیوند به ورودی پیوند بعدی تبدیل می‌شود.) .PP برای هر جفت، .B co نسخه‌های .I rev1 و .I rev3 را با توجه به .IR rev2 پیوند می‌دهد. این بدان معناست که تمام تغییراتی که .I rev2 را به .I rev1 تبدیل می‌کنند، روی رونوشتی از .IR rev3 اعمال می‌شوند. این ویژگی به‌ویژه زمانی مفید است که .I rev1 و .I rev3 انتهای دو شاخه با نیاکان مشترک .I rev2 باشند. اگر .IR rev1 < rev2 < rev3 روی همان شاخه باشد، پیوند دادنْ نسخهٔ جدیدی مشابه با .I rev3 ایجاد می‌کند، اما با واگردانی تمام تغییراتی که از .I rev1 به .I rev2 منجر شده‌اند. اگر تغییرات از .I rev2 به .I rev1 با تغییرات از .I rev2 به .I rev3 هم‌پوشانی داشته باشند، .B co تداخل‌ها را همان‌طور که در .BR merge (1) شرح داده شده است، گزارش می‌دهد..PP برای جفت اولیه، .I rev2 می‌تواند حذف شود. مقدار پیش‌فرض، جد مشترک است. اگر هر یک از آرگومان‌ها نشان‌دهنده شاخه باشند، جدیدترین ویرایش‌ها روی آن شاخه‌ها در نظر گرفته می‌شوند. گزینه‌های .B \-l و .B \-u ویرایش .IR rev1 را قفل یا باز می‌کنند. .RE .TP .BI \-V شماره نسخه \*r را چاپ می‌کند. .TP .BI \-V n شبیه‌سازی نسخه .I n از \*r، که در آن .I n می‌تواند .BR 3 ، .BR 4 ، یا .BR 5 باشد. این گزینه هنگام تبادل \*oها با دیگرانی که نسخه‌های قدیمی‌تر \*r را اجرا می‌کنند می‌تواند مفید باشد. برای این‌که ببینید همکارانتان از کدام نسخه \*r استفاده می‌کنند، از آن‌ها بخواهید دستور .BR "rcs \-V" را اجرا کنند؛ این دستور در نسخه‌های جدیدتر \*r کار می‌کند. اگر کار نکرد، از آن‌ها بخواهید .B rlog را روی یک \*o اجرا کنند؛ اگر در چند سطر اول خروجی، رشته .B branch: وجود نداشت، نسخه ۳ است؛ اگر سال‌های تاریخ تنها دو رقم دارند، نسخه ۴ است؛ در غیر این صورت، نسخه ۵ است. یک \*o که در هنگام شبیه‌سازی نسخه ۳ تولید شده باشد، شاخه پیش‌فرض خود را از دست می‌دهد. یک ویرایش \*r که هنگام شبیه‌سازی نسخه ۴ یا پیش‌تر تولید شده باشد، دارای برچسب زمانی با حداکثر ۱۳ ساعت اختلاف است. ویرایش استخراج‌شده در حین شبیه‌سازی نسخه ۴ یا پیش‌تر، حاوی تاریخ‌های خلاصه‌شده به فرم .IB yy / mm / dd است و همچنین می‌تواند شامل فاصله‌های خالی و پیشوندهای خطوط متفاوتی در جایگزینی برای .BR $\&Log$ باشد. .TP .BI \-x "suffixes" از .I suffixes برای تعیین پسوند \*oها استفاده می‌کند. برای جزئیات بیشتر به .BR ci (1) مراجعه کنید. .TP .BI \-z zone قالب خروجی تاریخ را در جایگزینی کلیدواژه مشخص کرده، و منطقه زمانی پیش‌فرض را برای .I date در گزینه .BI \-d date تعیین می‌کند. مقدار .I zone باید خالی، یک آفست عددی \*u، یا رشته ویژه .B LT برای زمان محلی باشد. پیش‌فرض، یک .IR zone خالی است که از قالب سنتی \*r برای \*u بدون نمایش هیچ منطقه زمانی و با اسلش به عنوان جداکننده بخش‌های تاریخ استفاده می‌کند؛ در غیر این صورت، زمان‌ها در قالب \*i 8601 همراه با مشخصه منطقه زمانی در خروجی درج می‌شوند. برای نمونه، اگر زمان محلی ۱۱ ژانویه ۱۹۹۰، ساعت ۲۰:۰۰ به وقت استاندارد اقیانوس آرام، هشت ساعت در غرب \*u باشد، آنگاه زمان به صورت زیر در خروجی نمایش داده می‌شود: .RS .LP .RS .nf .ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u .ne 4 \f2گزینه\fP \f2خروجی زمان\fP \f3\-z\fP \f31990/01/12 04:00:00\fP \f2(پیش‌فرض)\fP \f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP \f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP .ta 4n +4n +4n +4n .fi .RE .LP گزینه .B \-z بر تاریخ‌های ذخیره‌شده در \*oها تأثیری ندارد؛ این تاریخ‌ها همواره به صورت \*u هستند. .RE .SH "جایگزینی کلیدواژه (KEYWORD SUBSTITUTION)" رشته‌هایی به فرم .BI $ keyword $ و .BI $ keyword : .\|.\|. $ که در متن گنجانده شده‌اند، با رشته‌هایی به فرم .BI $ keyword : value $ جایگزین می‌شوند، که در آن .I keyword و .I value جفت‌های فهرست‌شده در زیر هستند. کلیدواژه‌ها را می‌توان در رشته‌های لیترال یا کامنت‌ها قرار داد تا یک ویرایش را شناسایی کنند. .PP در ابتدا، کاربر رشته‌هایی به فرم .BI $ keyword $ را وارد می‌کند. در هنگام تحویل‌گیری (checkout)، .B co این رشته‌ها را با رشته‌هایی به فرم .BI $ keyword : value $ جایگزین می‌کند. اگر ویرایشی حاوی رشته‌هایی با فرم اخیر دوباره تحویل داده شود (check in)، فیلدهای مقدار در تحویل‌گیری بعدی جایگزین خواهند شد. بدین ترتیب، مقادیر کلیدواژه‌ها هنگام تحویل‌گیری به‌طور خودکار به‌روزرسانی می‌شوند. این جایگزینی خودکار می‌تواند توسط گزینه‌های .B \-k تغییر یابد. .PP کلیدواژه‌ها و مقادیر متناظر آن‌ها: .TP .B $\&Author$ نام کاربری (login name) کاربری که ویرایش را تحویل داده است. .TP .B $\&Date$ تاریخ و زمان تحویل ویرایش. با .BI \-z zone یک آفست عددی منطقه زمانی اضافه می‌شود؛ در غیر این صورت، تاریخ به صورت \*u است. .TP .B $\&Header$ یک سرایند استاندارد شامل نام کامل \*o، شماره ویرایش، تاریخ و زمان، نویسنده، وضعیت (state)، و قفل‌کننده (در صورت قفل بودن). با .BI \-z zone یک آفست عددی منطقه زمانی به تاریخ اضافه می‌شود؛ در غیر این صورت، تاریخ به صورت \*u است. .TP .B $\&Id$ همانند .BR $\&Header$ ، با این تفاوت که نام \*o بدون بخش‌های دایرکتوری است. .TP .B $\&Locker$ نام کاربری کاربری که ویرایش را قفل کرده است (در صورت قفل نبودن، خالی است). .TP .B $\&Log$ پیام لاگی که در هنگام تحویل ارائه شده است، با یک سرایند پیش از آن شامل نام \*o، شماره ویرایش، نویسنده، و تاریخ و زمان. با .BI \-z zone یک آفست عددی منطقه زمانی اضافه می‌شود؛ در غیر این صورت، تاریخ به صورت \*u است. پیام‌های لاگ موجود جایگزین .I نمی‌شوند. در عوض، پیام لاگ جدید پس از .BR $\&Log: .\|.\|. $ درج می‌شود. این ویژگی برای انباشتن یک گزارش تغییرات کامل در یک فایل منبع مفید است. .RS .LP در ابتدای هر خط درج‌شده، همان رشته‌ای قرار می‌گیرد که در پیشوند خط .B $\&Log$ آمده است. برای نمونه، اگر خط .B $\&Log$ به صورت .RB \*(lq "//\ $\&Log: tan.cc\ $" \*(rq باشد، \*r ابتدای هر خط از لاگ را با .RB \*(lq "//\ " \*(rq پیشوندگذاری می‌کند. این ویژگی برای زبان‌هایی با کامنت‌هایی که تا انتهای خط امتداد دارند مفید است. عرف برای زبان‌های دیگر، استفاده از پیشوند .RB \*(lq " \(** " \(rq درون یک کامنت چندخطی است. برای نمونه، کامنت لاگ اولیه یک برنامه C معمولاً به فرم زیر است: .RS .LP .nf .ft 3 .ne 3 /\(** .in +\w'/'u \(** $\&Log$ \(**/ .in .ft .fi .RE .LP برای سازگاری عقبرو با نسخه‌های قدیمی‌تر \*r، اگر پیشوند لاگ .B /\(** یا .B (\(** باشد که با فاصله‌های خالی اختیاری احاطه شده است، خطوط لاگ درج‌شده به جای .B / یا .BR ( شامل یک فاصله خالی خواهند بود؛ با این حال، این کاربرد منسوخ شده است و نباید به آن اتکا کرد. .RE.TP .B $\&Name$ نام نمادین استفاده‌شده برای واکشی بازبینی، در صورت وجود. برای نمونه، .B "co\ \-rJoe" عبارت .BR "$\&Name:\ Joe\ $" را تولید می‌کند. دستور سادهٔ .B co تنها .BR "$\&Name:\ \ $" را تولید می‌کند. .TP .B $\&RCSfile$ نام \*o بدون بخش‌های دایرکتوری. .TP .B $\&Revision$ شماره بازبینی اختصاص‌یافته به بازبینی. .TP .B $\&Source$ نام کامل \*o. .TP .B $\&State$ وضعیت اختصاص‌یافته به بازبینی با گزینهٔ .B \-s از .BR rcs (1) یا .BR ci (1). .PP نویسه‌های زیر در مقادیر کلمه‌کلیدی به صورت توالی‌های گریز نمایش داده می‌شوند تا رشته‌های کلمه‌کلیدی ساختار صحیحی داشته باشند. .LP .RS .nf .ne 6 .ta \w'newline 'u \f2char escape sequence\fP tab \f3\et\fP newline \f3\en\fP space \f3\e040 $ \e044 \e \e\e\fP .fi .RE .SH "حالت‌های فایل (FILE MODES)" فایل کاری، مجوزهای خواندن و اجرا را از فایل \*r به ارث می‌برد. افزون بر این، مجوز نوشتن مالک فعال می‌شود، مگر آنکه .B \-kv تنظیم شده باشد یا فایل به صورت قفل‌نشده واکشی شود و قفل‌گذاری روی سخت‌گیرانه تنظیم شده باشد (ببینید: .BR rcs (1)). .PP اگر فایلی با نام فایل کاری از پیش وجود داشته باشد و دارای مجوز نوشتن باشد، .B co عملیات واکشی را متوقف می‌کند، و در صورت امکان پیش از آن پرسش می‌کند. اگر فایل کاری موجود قابل نوشتن نباشد یا .B \-f داده شده باشد، فایل کاری بدون پرسش حذف می‌شود. .SH "فایل‌ها (FILES)" .B co تقریباً همانند .BR ci (1) به فایل‌ها دسترسی پیدا می‌کند، با این تفاوت که نیازی به خواندن فایل کاری ندارد مگر آنکه شماره بازبینیِ .B $ مشخص شده باشد. .SH "محیط (ENVIRONMENT)" .TP .B \s-1RCSINIT\s0 گزینه‌هایی که به ابتدای فهرست آرگومان‌ها افزوده می‌شوند و با فاصله از هم جدا می‌گردند. یک بک‌اسلش، فاصله‌های درون یک گزینه را گریز می‌دهد. گزینه‌های .B \s-1RCSINIT\s0 به ابتدای فهرست آرگومان‌های بیشتر دستورهای \*r افزوده می‌شوند. گزینه‌های سودمند .B \s-1RCSINIT\s0 شامل .BR \-q ، .BR \-V ، .BR \-x و .BR \-z هستند. .TP .B \s-1RCS_MEM_LIMIT\s0 به‌طور معمول برای سرعت بیشتر، اگر اندازهٔ \*o کمتر از .IR memory-limit باشد (که در حال حاضر مقدار پیش‌فرض آن «نامحدود» است)، دستورها آن را در حافظه نگاشت کرده یا درون حافظه کپی می‌کنند. در غیر این صورت (یا اگر روش‌های پرسرعتِ اولیّه با شکست مواجه شوند)، دستورها به استفاده از روال‌های استاندارد ورودی/خروجی برمی‌گردند. می‌توانید با تنظیم .B \s-1RCS_MEM_LIMIT\s0 روی یک مقدار عددی .IR lim (اندازه‌گیری‌شده بر حسب کیلوبایت) محدودیت حافظه را تغییر دهید. مقدار خالی بدون هیچ پیامی نادیده گرفته می‌شود. به عنوان یک اثر جانبی، تعیین کردن .B \s-1RCS_MEM_LIMIT\s0 مانع از بازگشت به روال‌های کندتر می‌شود. .TP .B \s-1TMPDIR\s0 نام دایرکتوری موقت. اگر تنظیم نشده باشد، متغیرهای محیطی .B \s-1TMP\s0 و .B \s-1TEMP\s0 به جای آن بررسی می‌شوند و نخستین مقدار یافت‌شده در نظر گرفته می‌شود؛ اگر هیچ‌یک از آن‌ها تنظیم نشده باشند، یک مقدار پیش‌فرض وابسته به میزبان استفاده می‌شود که معمولاً .BR /tmp است. .SH "خطاها (DIAGNOSTICS)" نام \*o، نام فایل کاری، و شماره بازبینیِ بازیابی‌شده در خروجی عیب‌یابی نوشته می‌شوند. وضعیت خروج صفر است اگر و تنها اگر تمام عملیات‌ها موفقیت‌آمیز بوده باشند. .ds EY 1990, 1991, 1992, 1993, 1994, 1995.SH "شناسایی (IDENTIFICATION)" نویسنده: Walter F. Tichy. .br بازبینی صفحه راهنما: \*(Rv؛ تاریخ انتشار: \*(Dt. .br کپی‌رایت \(co 2010-2022 Thien-Thi Nguyen. .br کپی‌رایت \(co \*(EY Paul Eggert. .br کپی‌رایت \(co 1982, 1988, 1989 Walter F. Tichy. .br .SH "همچنین ببینید (SEE ALSO)" .BR ci (1), .BR ctime (3), .BR date (1), .BR ident (1), .BR make (1), .BR rcs (1), .BR rcsclean (1), .BR rcsdiff (1), .BR rcsmerge (1), .BR rlog (1), .BR rcsfile (5). .PP Walter F. Tichy, \*r\*-A System for Version Control, .I "Software\*-Practice & Experience" .BR 15 , 7 (July 1985), 637-654. .PP مستندات کامل برای \*r در قالب یک راهنمای Texinfo نگهداری می‌شود. اگر برنامه‌های .BR info (1) و \*r به درستی روی سیستم شما نصب شده باشند، دستور .IP .B info rcs .PP باید دسترسی شما را به راهنمای کامل فراهم کند. علاوه بر این، صفحه خانگی \*r: .IP .B http://www.gnu.org/software/rcs .PP شامل اخبار و پیوندهایی به آخرین انتشار، سایت توسعه و غیره است. .SH "محدودیت‌ها (LIMITS)" پیوندها به \*r و فایل‌های کاری حفظ نمی‌شوند. .PP هیچ راهی برای جلوگیری انتخابی از بسط کلمات کلیدی وجود ندارد، مگر با نوشتن متفاوت آن‌ها. در nroff و troff، این کار با قرار دادن نویسه پوچ (null-character) .B \e& درون کلمه کلیدی انجام می‌شود. .br