.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 .if n .ds - \%-- .if t .ds - \(em .if !\n(.g \{\ . if !\w|\*(lq| \{\ . ds lq `` . if \w'\(lq' .ds lq "\(lq . \} . if !\w|\*(rq| \{\ . ds rq '' . if \w'\(rq' .ds rq "\(rq . \} .\} .TH RCS 1 "\*(Dt" "GNU RCS \*(Rv" .SH "نام (NAME)" rcs \- تغییر مشخصه‌های فایل‌های \*r .SH "خلاصه دستور (SYNOPSIS)" .B rcs .IR "options file " .\|.\|. .SH "توضیحات (DESCRIPTION)" دستور .B rcs فایل‌های \*r جدید ایجاد می‌کند یا مشخصه‌های فایل‌های موجود را تغییر می‌دهد. یک \*o شامل چندین بازبینی از متن، یک فهرست دسترسی، یک گزارش تغییرات، متن توضیحی، و برخی مشخصه‌های کنترلی است. برای کارکرد .BR rcs ، نام کاربری فراخواننده باید در فهرست دسترسی باشد، مگر اینکه فهرست دسترسی خالی باشد، فراخواننده مالک فایل یا مدیر سیستم (superuser) باشد، یا گزینهٔ .B \-i مشخص شده باشد. .PP نام‌های فایلی که با یک پسوند \*r مطابقت دارند، نشان‌دهندهٔ فایل‌های \*r هستند؛ سایر نام‌ها نشان‌دهندهٔ فایل‌های کاری می‌باشند. نام‌ها همان‌طور که در .BR ci (1) توضیح داده شده است، جفت می‌شوند. شماره‌های بازبینی از ساختار نحوی شرح داده‌شده در .BR ci (1) پیروی می‌کنند. .SH "گزینه‌ها (OPTIONS)" .TP .B \-i ایجاد و مقداردهی اولیهٔ یک \*o جدید، بدون ثبت هیچ بازبینی‌ای. اگر نام \*o شامل مؤلفهٔ دایرکتوری نباشد، ابتدا تلاش می‌کند آن را در زیردایرکتوری .BR ./RCS ، و سپس در دایرکتوری جاری قرار دهد. اگر \*o از قبل وجود داشته باشد، یک پیام خطا چاپ می‌کند. .TP .BI \-a "logins" نام‌های کاربری موجود در فهرست جداشده با کامای .I logins را به فهرست دسترسی \*o اضافه می‌کند. .TP .BI \-A "oldfile" فهرست دسترسیِ .I oldfile را به فهرست دسترسی \*o اضافه می‌کند. .TP .BR \-e [\f2logins\fP] نام‌های کاربری موجود در فهرست جداشده با کامای .I logins را از فهرست دسترسی \*o حذف می‌کند. اگر .I logins ذکر نشود، کل فهرست دسترسی را پاک می‌کند. .TP .BR \-b [\f2rev\fP] شاخهٔ پیش‌فرض را روی .IR rev تنظیم می‌کند. اگر .I rev ذکر نشود، شاخهٔ پیش‌فرض به بالاترین شاخه روی تنه (trunk) (به‌طور پویا) بازنشانی می‌شود. .TP .BI \-c string پیشوند توضیح (comment leader) را روی .IR string تنظیم می‌کند. یک .B ci اولیه، یا یک .B "rcs\ \-i" بدون .BR \-c ، پیشوند توضیح را بر اساس پسوند نام فایل کاری حدس می‌زند. .RS .PP این گزینه منسوخ شده است، زیرا \*r معمولاً هنگام درج خطوط گزارش در زمان استخراج (checkout) از پیشوند خط قبلیِ .B $\&Log$ استفاده می‌کند (به .BR co (1) مراجعه کنید). با این حال، نسخه‌های قدیمی‌تر \*r به‌جای پیشوند خط .BR $\&Log$ ، از پیشوند توضیح استفاده می‌کنند؛ بنابراین اگر قصد دارید با هر دو نسخهٔ قدیمی و جدید \*r به یک فایل دسترسی داشته باشید، مطمئن شوید که پیشوند توضیح آن با پیشوند خط .B $\&Log$ آن مطابقت دارد. .RE .TP .BI \-k subst جایگزینی پیش‌فرض کلیدواژه‌ها را روی .IR subst تنظیم می‌کند. تأثیر جایگزینی کلیدواژه در .BR co (1) توضیح داده شده است. دادن یک گزینهٔ صریح .B \-k به .BR co ، .BR rcsdiff و .B rcsmerge این مقدار پیش‌فرض را لغو (override) می‌کند. مراقب .B "rcs\ \-kv" باشید، زیرا .B \-kv با .B "co\ \-l" ناسازگار است. از .B "rcs\ \-kkv" برای بازیابی جایگزینی پیش‌فرض عادی کلیدواژه‌ها استفاده کنید. .TP .BR \-l [\f2rev\fP] بازبینی با شمارهٔ .IR rev را قفل می‌کند. اگر یک شاخه مشخص شود، آخرین بازبینی در آن شاخه را قفل می‌کند. اگر .I rev ذکر نشود، آخرین بازبینی روی شاخهٔ پیش‌فرض قفل می‌شود. قفل کردن از تغییرات هم‌پوشان و تداخل جلوگیری می‌کند. اگر شخص دیگری از قبل قفل را در اختیار داشته باشد، قفل مانند عملکرد .B "rcs\ \-u" شکسته می‌شود (به زیر مراجعه کنید). .TP .BR \-u [\f2rev\fP] قفل بازبینی با شمارهٔ .IR rev را باز می‌کند. اگر یک شاخه مشخص شود، قفل آخرین بازبینی روی آن شاخه را باز می‌کند. اگر .I rev ذکر نشود، آخرین قفل در اختیار فراخواننده را حذف می‌کند. به‌طور معمول، فقط قفل‌کنندهٔ یک بازبینی می‌تواند قفل آن را باز کند. باز کردن قفل توسط شخص دیگر، باعث شکستن قفل می‌شود. اگر RCS با .B \-\-with-mailer پیکربندی شده باشد، این کار باعث ارسال یک پیام رایانامه به قفل‌کنندهٔ اصلی می‌شود. این پیام حاوی توضیحی است که از شکنندهٔ قفل درخواست می‌شود. این توضیح با پایان فایل (EOF) یا با خطی که به‌تنهایی حاوی یک .B \&. باشد به پایان می‌رسد. .TP .B \-L قفل‌گذاری را روی .IR strict (سخت‌گیرانه) تنظیم می‌کند. قفل‌گذاری سخت‌گیرانه به این معناست که مالک یک \*o برای تحویل (checkin) از قفل‌گذاری معاف نیست. این گزینه باید برای فایل‌های اشتراکی استفاده شود. .TP .B \-U قفل‌گذاری را روی غیرسخت‌گیرانه (non-strict) تنظیم می‌کند. قفل‌گذاری غیرسخت‌گیرانه به این معناست که مالک یک فایل برای تحویل نیازی به قفل کردن بازبینی ندارد. این گزینه .I نباید برای فایل‌های اشتراکی استفاده شود. اینکه قفل‌گذاری پیش‌فرض سخت‌گیرانه باشد یا خیر، توسط مدیر سیستم شما تعیین می‌شود، اما معمولاً سخت‌گیرانه است. .TP \f3\-m\fP\f2rev\fP\f3:\fP[\f2msg\fP] پیام گزارش بازبینی .IR rev را با .IR msg جایگزین می‌کند. اگر .I msg ذکر نشود، مقدار پیش‌فرض آن "*** empty log message ***" خواهد بود..TP .B \-M هنگام شکستن قفل شخص دیگر، ایمیل ارسال نکن. این گزینه برای استفادهٔ عادی در نظر گرفته نشده است؛ بلکه برای برنامه‌هایی است که با روش‌های دیگر به کاربران هشدار می‌دهند و .B "rcs\ \-u" را صرفاً به عنوان یک عملیات سطح‌پایین برای شکستن قفل فراخوانی می‌کنند. .TP \f3\-n\fP\f2name\fP[\f3:\fP[\f2rev\fP]] نام نمادین .I name را به شاخه یا بازبینیِ .I rev اختصاص بده. اگر هر دو مورد .B : و .I rev حذف شده باشند، نام نمادین را حذف کن؛ در غیر این صورت، اگر .I name قبلاً به شمارهٔ دیگری اختصاص داده شده باشد، یک پیام خطا چاپ کن. اگر .I rev نمادین باشد، پیش از انتساب بسط داده می‌شود. یک .I rev متشکل از شمارهٔ شاخه که به دنبال آن یک .B .\& بیاید، نمایانگر آخرین بازبینی فعلی در آن شاخه است. یک .B : با .I rev خالی، نمایانگر آخرین بازبینی فعلی در شاخهٔ پیش‌فرض (معمولاً تنه یا trunk) است. به عنوان مثال، .BI "rcs\ \-n" name ":\ RCS/*" نام .I name را به آخرین بازبینی فعلیِ تمام \*oهای نام‌برده اختصاص می‌دهد؛ این با .BI "rcs\ \-n" name ":$\ RCS/*" متفاوت است که .I name را به شماره‌های بازبینی استخراج‌شده از رشته‌های کلیدواژه در فایل‌های کاری متناظر اختصاص می‌دهد. .TP \f3\-N\fP\f2name\fP[\f3:\fP[\f2rev\fP]] مانند .BR \-n عمل کن، با این تفاوت که هر انتساب قبلیِ .I name را بازنویسی و جایگزین می‌کند. .TP .BI \-o range بازبینی‌های مشخص‌شده توسط .I range را حذف (منسوخ یا \*(lqoutdate\*(rq) می‌کند. محدوده‌ای متشکل از یک شماره بازبینیِ تنها، به معنای همان بازبینی است. محدوده‌ای متشکل از یک شماره شاخه، به معنای آخرین بازبینی در آن شاخه است. محدوده‌ای به شکل .IB rev1 : rev2 به معنای بازبینی‌های .I rev1 تا .I rev2 در همان شاخه است، .BI : rev به معنای از ابتدای شاخهٔ حاوی .I rev تا خودِ .I rev (شامل آن) است، و .IB rev : به معنای از بازبینیِ .I rev تا انتهای شاخهٔ حاوی .I rev است. هیچ‌یک از بازبینی‌های منسوخ‌شده نمی‌توانند شاخه یا قفل داشته باشند. .TP .B \-q اجرا در حالت بی‌صدا؛ پیام‌های تشخیصی چاپ نشوند. .TP .B \-I اجرا به صورت تعاملی، حتی اگر ورودی استاندارد یک ترمینال نباشد. .TP .B \-s\f2state\fP\f1[\fP:\f2rev\fP\f1]\fP صفت وضعیت (state) بازبینیِ .I rev را به .I state تنظیم کن. اگر .I rev شمارهٔ یک شاخه باشد، آخرین بازبینی در آن شاخه در نظر گرفته می‌شود. اگر .I rev مشخص نشده باشد، آخرین بازبینی در شاخهٔ پیش‌فرض در نظر گرفته می‌شود. هر شناسه‌ای برای .I state پذیرفته می‌شود. مجموعه‌ای از وضعیت‌های کاربردی عبارت است از: .B Exp (برای آزمایشی)، .B Stab (برای پایدار)، و .B Rel (برای منتشرشده). به‌طور پیش‌فرض، .BR ci (1) وضعیت یک بازبینی را روی .B Exp تنظیم می‌کند. .TP .BR \-t [\f2file\fP] متن توصیفی را از محتویات .I file نام‌برده درون \*o می‌نویسد و متن موجود را حذف می‌کند. نام .I file نمی‌تواند با .B \- آغاز شود. اگر .I file مشخص نشود، متن را از ورودی استاندارد دریافت می‌کند که با پایان فایل (EOF) یا با خطی که تنها شامل .B \&. است خاتمه می‌یابد. در صورتی که امکان تعامل وجود داشته باشد، اعلان متن نمایش داده می‌شود؛ به .BR \-I مراجعه کنید. با .BR \-i ، متن توصیفی حتی در صورت مشخص نشدن .B \-t نیز دریافت می‌شود. .TP .BI \-t\- string متن توصیفی را از رشتهٔ .I string درون \*o می‌نویسد و متن موجود را حذف می‌کند. .TP .B \-T زمان تغییر فایل \*o را حفظ کن، مگر اینکه بازبینی‌ای حذف شود. این گزینه می‌تواند از کامپایل مجدد گسترده ناشی از وابستگی .BR make (1) یک نسخه از فایل کاری به \*o جلوگیری کند. از این گزینه با احتیاط استفاده کنید؛ چرا که می‌تواند کامپایل مجدد را حتی در زمان نیاز متوقف سازد، یعنی هنگامی که تغییر در \*o به معنای تغییر در رشته‌های کلیدواژه در فایل کاری باشد. .TP .BI \-V شمارهٔ نسخهٔ \*r را چاپ کن. .TP .BI \-V n نسخهٔ .I n از \*r را شبیه‌سازی کن. برای جزئیات به .BR co (1) مراجعه کنید. .TP .BI \-x "suffixes" از پسوندهای .I suffixes برای مشخص کردن فایلهای \*o استفاده کن. برای جزئیات به .BR ci (1) مراجعه کنید. .TP .BI \-z zone از .I zone به عنوان منطقهٔ زمانی پیش‌فرض استفاده کن. این گزینه هیچ اثری ندارد؛ صرفاً برای سازگاری با سایر دستورهای \*r وجود دارد. .PP حداقل یک گزینهٔ صریح باید مشخص شود، تا از سازگاری با توسعه‌های برنامه‌ریزی‌شده در آینده برای دستور .B rcs اطمینان حاصل گردد..SH "سازگاری (COMPATIBILITY)" گزینهٔ .BI \-b rev یک \*o تولید می‌کند که توسط نسخهٔ ۳ یا پیشین \*r قابل تجزیه نیست. .PP گزینه‌های .BI \-k subst (به‌جز .BR \-kkv ) یک \*o تولید می‌کنند که توسط نسخهٔ ۴ یا پیشین \*r قابل تجزیه نیست. .PP از .BI "rcs \-V" n برای سازگار کردن یک \*o با نسخهٔ .I n \*r استفاده کنید؛ این کار با دور ریختن اطلاعاتی انجام می‌شود که ممکن است نسخهٔ .IR n را دچار سردرگمی کند. .PP نسخهٔ ۵٫۵ و پیشین \*r از گزینهٔ .B \-x پشتیبانی نمی‌کند و نیازمند پسوند .B ,v در انتهای نام یک \*o است. .SH "فایل‌ها (FILES)" دستور .B rcs تقریباً مانند .BR ci (1) به فایل‌ها دسترسی پیدا می‌کند، با این تفاوت که برای همهٔ دسترسی‌ها از کاربر مؤثر (effective user) استفاده می‌کند، در فایل کاری یا دایرکتوری آن نمی‌نویسد، و حتی فایل کاری را نمی‌خواند مگر اینکه شمارهٔ بازبینیِ .B $ مشخص شده باشد. .SH "محیط (ENVIRONMENT)" .TP .B \s-1RCSINIT\s0 گزینه‌هایی که با فاصله از هم جدا شده و به ابتدای فهرست آرگومان‌ها افزوده می‌شوند. یک بک‌اسلش فاصله‌های درون یک گزینه را گریزدهی (escape) می‌کند. گزینه‌های .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 کمتر از .I memory-limit باشد، دستورها آن را در حافظه نگاشت (memory map) کرده یا درون حافظه کپی می‌کنند؛ این مقدار در حال حاضر به‌صورت پیش‌فرض «نامحدود» (unlimited) است. در غیر این صورت (یا اگر روش‌های سریع اولیه با شکست مواجه شوند)، دستورها به استفاده از روال‌های ورودی/خروجی استاندارد بازمی‌گردند. می‌توانید حد حافظه را با تنظیم .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 به‌جای آن بررسی می‌شوند و نخستین مقدار یافت‌شده در نظر گرفته می‌شود؛ اگر هیچ‌کدام از آن‌ها تنظیم نشده باشند، یک پیش‌فرض وابسته به سیستم میزبان به کار می‌رود که معمولاً .B /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 co (1), .BR ci (1), .BR ident (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 "گزارش باگ‌ها (BUGS)" یک رخداد فاجعه‌بار (مانند فروپاشی سیستم) می‌تواند باعث شود که \*r یک فایل سمافور بر جای بگذارد که موجب می‌شود فراخوانی‌های بعدی \*r ادعا کنند که \*o در حال استفاده است. برای رفع این مشکل، فایل سمافور را حذف کنید. نام یک فایل سمافور معمولاً با .B , آغاز شده یا با .B _ پایان می‌یابد. .PP جداکننده بازه‌های بازبینی در گزینه .B \-o پیش‌تر به جای .BR : کاراکتر .B \- بود، اما این امر هنگامی که نام‌های نمادین حاوی .B \- باشند، منجر به سردرگمی می‌شود. برای سازگاری با نسخه‌های گذشته، .B "rcs \-o" همچنان از جداکننده قدیمی .B \- پشتیبانی می‌کند، اما در مورد این استفاده منسوخ‌شده هشدار می‌دهد. .PP نام‌های نمادین نیازی نیست به بازبینی‌ها یا شاخه‌های موجود ارجاع داشته باشند. به عنوان مثال، گزینه .B \-o نام‌های نمادین را برای بازبینی‌های منسوخ‌شده حذف نمی‌کند؛ شما باید از .B \-n برای حذف نام‌ها استفاده کنید. .br