.if !dPS .ds PS .if !dPE .ds PE .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 ." Set p to 1 if your formatter can handle pic output. .if t .nr p 1 .if n .ds - \%-- .if t .ds - \(em .TH RCSFILE 5 "\*(Dt" "GNU RCS \*(Rv" .SH "نام (NAME)" rcsfile \- قالب پرونده RCS .SH "توضیحات (DESCRIPTION)" محتوای یک پرونده RCS با استفاده از دستور زبان (گرامر) زیر توصیف می‌شود. .PP متن دارای قالب آزاد است: فاصله (space)، پس‌بر (backspace)، تب (tab)، خط جدید (newline)، تب عمودی، برگه‌بر (form feed) و بازگشت به سر سطر (carriage return) (که در مجموع .IR "فاصله‌های خالی" نامیده می‌شوند) به جز در رشته‌ها هیچ اهمیتی ندارند. با این حال، فاصله خالی نمی‌تواند درون یک id، num یا sym ظاهر شود، و یک پرونده RCS باید با یک خط جدید پایان یابد. .PP رشته‌ها با .BR @ محصور می‌شوند. اگر یک رشته حاوی یک .BR @ باشد، باید دو بار تکرار شود (@@)؛ در غیر این صورت، رشته‌ها می‌توانند حاوی داده‌های باینری دلخواه باشند. .PP نحوه نگارش از قراردادهای زیر استفاده می‌کند: '|' گزینه‌ها را جدا می‌کند؛ '{' و '}' عبارات اختیاری را در بر می‌گیرند؛ '{' و '}*' عباراتی را که می‌توانند صفر یا چند بار تکرار شوند در بر می‌گیرند؛ '{' و '}+' عباراتی را در بر می‌گیرند که باید حداقل یک بار ظاهر شوند و می‌توانند تکرار شوند؛ نمادهای پایانی به صورت .BR پررنگ و نمادهای غیرپایانی به صورت .IR مورب نمایش داده شده‌اند. .LP .nr w \w' 3deltatext P ' .if w< y .nr w y .nr x \w' 3branches P' .nr y \w'{ 3comment P' .if x< y .nr x y .nr y \w' 3{ branch P' .if x< y .nr x y .ta wu +\w'::= 'u + xu+\w' 'u .fc # .nf 2rcstext P ::= 2admin P { 2delta P}* 2desc P { 2deltatext P}* .LP 2admin P ::= 3head P { 2num P} 3; P { 3branch P { 2num P} 3; P } 3access P { 2id P}* 3; P 3symbols P { 2sym P 3: P 2num P}* 3; P 3locks P { 2id P 3: P 2num P}* 3; P { 3strict ; P} { 3integrity P { 2intstring P} 3; P } { 3comment P { 2string P} 3; P } { 3expand P { 2string P} 3; P } .LP 2delta P ::= 2num P 3date P 2num P 3; P 3author P 2id P 3; P 3state P { 2id P} 3; P 3branches P { 2num P}* 3; P 3next P { 2num P} 3; P { 3commitid P 2sym P 3; P } .LP 2desc P ::= 3desc P 2string P .LP 2deltatext P ::= 2num P 3log P 2string P 3text P 2string P .LP 2num P ::= { 2digit P | 3. P}+ .LP 2digit P ::= 30 P | 31 P | 32 P | 33 P | 34 P | 35 P | 36 P | 37 P | 38 P | 39 P .LP 2id P ::= { 2idchar P | 3. P}+ .LP 2sym P ::= { 2idchar P}+ .LP 2idchar P ::= any visible graphic character except 2special P .LP 2special P ::= 3$ P | 3, P | 3. P | 3: P | 3; P | 3@ P .LP 2string P ::= 3@ P{any character, with 3@ P doubled}* 3@ P .LP 2word P ::= 2id P | 2num P | 2string P | 3: P .LP 2intchar P ::= any character, except 3@ P .LP 2thirdp P ::= 3^L P { 2intchar P}* .LP 2intstring P ::= 3@ P { 2intchar P}* { 2thirdp P}* 3@ P .fi .PP در نسخه‌های پیش از 5.8 (2011-08-30)، این گرامر شامل قاعده .I newphrase بود و در قواعد .IR admin ، .I delta و .I deltatext استفاده می‌شد. این به برنامه‌های شخص ثالث اجازه می‌داد با ذخیره داده‌های کدر (برای RCS) در فایل، با RCS تعامل داشته باشند. از نسخه 5.8، در جهت پیشرفت (به سمت پشتیبانی سیستماتیک‌تر از یکپارچگی فایل)، تنها ناحیه رزروشده برای تعامل شخص ثالث در مقدار (رشته‌ای) فیلد .I integrity است، به ویژه پس از اولین .B ^L (formfeed). یک محدودیت بیشتر (برای همه برنامه‌ها) این است که مقدار .I integrity نباید حاوی .BR @ باشد. .PP شناسه‌ها به بزرگی و کوچکی حروف حساس هستند. کلیدواژه‌ها فقط با حروف کوچک هستند. مجموعه‌های کلیدواژه‌ها و شناسه‌ها می‌توانند هم‌پوشانی داشته باشند. در اغلب محیط‌ها، RCS از کدگذاری ISO 8859/1 استفاده می‌کند: نویسه‌های گرافیکی مرئی کدهای 041-176 و 240-377 هستند، و نویسه‌های فاصله کدهای 010-015 و 040 می‌باشند. .PP تاریخ‌ها که پس از کلیدواژه .B date می‌آیند، به شکل 2Y P 3. P 2mm P 3. P 2dd P 3. P 2hh P 3. P 2mm P 3. P 2ss P هستند، که در آن .I Y سال، .I mm ماه (01-12)، .I dd روز (01-31)، .I hh ساعت (00-23)، .I mm دقیقه (00-59) و .I ss ثانیه (00-60) است. .I Y تنها شامل دو رقم آخر سال برای سال‌های ۱۹۰۰ تا ۱۹۹۹ است، و برای سال‌های پس از آن شامل تمامی ارقام سال است. تاریخ‌ها از گاه‌شماری گریگوری و زمان‌ها از UTC استفاده می‌کنند. .PP گره‌های .I delta یک ساختار درختی را تشکیل می‌دهند. تمامی گره‌هایی که شماره آن‌ها شامل یک جفت منفرد است (مانند 2.3، 2.1، 1.3 و غيره) روی تنه اصلی (trunk) قرار دارند و از طریق فیلد .B next به ترتیب نزولی شماره‌ها پیوند خورده‌اند. فیلد .B head در گره .I admin به سر این توالی اشاره دارد (یعنی شامل بالاترین جفت است). گره .B branch در گره admin نشان‌دهنده شاخه (یا بازنگری) پیش‌فرض برای اکثر عملیات‌های RCS است. اگر خالی باشد، شاخه پیش‌فرض بالاترین شاخه روی تنه اصلی خواهد بود. .PP تمامی گره‌های .I delta که شماره آن‌ها از .RI 2 n فیلد .RI ( n \(>=2) تشکیل شده است (مانند 3.1.1.1، 2.1.2.2 و غیره) به صورت زیر پیوند می‌خورند. تمامی گره‌هایی که نخستین .RI 2 n \-1 فیلد عددی آن‌ها یکسان است، از طریق فیلد .B next به ترتیب صعودی شماره‌ها پیوند می‌یابند. برای هر یک از این توالی‌ها، گره .I delta که شماره آن با نخستین .RI 2 n \-2 فیلد عددی دلتاهای آن توالی یکسان است، نقطه انشعاب (branchpoint) نامیده می‌شود. فیلد .B branches یک گره شامل فهرستی از شماره‌های گره‌های نخست تمامی توالی‌هایی است که این گره نقطه انشعاب آن‌هاست. این فهرست به ترتیب صعودی شماره‌ها مرتب شده است. .LP نمودار زیر نمونه‌ای از سازمان‌دهی یک پرونده RCS را نشان می‌دهد: .if ! p \{.nf .vs 12 .ne 36 .cs 1 20 .eo Head | | v / --------- / / \ / \ | | / \ / / \ / \ | 2.1 | / \ / / \ / \ | | / \ / /1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1--------- --------- --------- --------- ------------- ^ ^ | ^ ^ | | | | | | | v | | / \ | --------- / \ | / \ | \ 1.3 / / \ | / \ ---------\ / / \----------- /1.2.1.1\ 1.3.1 \ / /1.2.2.1\ 1.2.2.1.1 --------- \ / --------- ^ | ^ | | | | v | | --------- | | \ 1.2 / | ----------------------\ /--------- 1.2.1 \ / 1.2.2 \ / | | v --------- \ 1.1 / \ / \ / \ / .ec .cs 1 .vs .fi .\} .if p \{.PS 4.250i 3.812i ." -2.0625 -4.25 1.75 0 ." 0.000i 4.250i 3.812i 0.000i .nr 00 (.u .nf .nr 0x 1 \h'3.812i' .sp -1 \h'2.062i-(\w'Head'u/2u)' '0.125i-(0v/2u)+0v+0.22m'Head .sp -1 \h'2.087i' '0.647i'\D'l -0.025i 0.100i' .sp -1 \h'2.038i' '0.647i'\D'l 0.025i 0.100i' .sp -1 \h'2.062i' '0.250i'\D'l 0.000i 0.497i' .sp -1 \h'1.688i' '1.250i'\D'l 0.750i 0.000i' .sp -1 \h'2.438i' '1.250i'\D'l 0.000i -0.500i' .sp -1 \h'2.438i' '0.750i'\D'l -0.750i 0.000i' .sp -1 \h'1.688i' '0.750i'\D'l 0.000i 0.500i' .sp -1 \h'2.062i-(\w'2.1'u/2u)' '1.000i-(0v/2u)+0v+0.22m'2.1 .sp -1 \h'2.087i' '1.647i'\D'l -0.025i 0.100i' .sp -1 \h'2.038i' '1.647i'\D'l 0.025i 0.100i' .sp -1 \h'2.062i' '1.250i'\D'l 0.000i 0.497i' .sp -1 \h'2.062i-(\w'1.3'u/2u)' '1.950i-(0v/2u)+0v+0.22m'1.3 .sp -1 \h'2.062i' '2.250i'\D'l -0.375i -0.500i' .sp -1 \h'1.688i' '1.750i'\D'l 0.750i 0.000i' .sp -1 \h'2.438i' '1.750i'\D'l -0.375i 0.500i' .sp -1 \h'1.350i' '1.603i'\D'l 0.025i -0.100i' .sp -1 \h'1.400i' '1.603i'\D'l -0.025i -0.100i' .sp -1 \h'1.875i' '2.000i'\D'~ -0.500i 0.000i 0.000i -0.497i' .sp -1 \h'1.375i-(\w'1.3.1'u/2u)' '2.100i-(0v/2u)+0v+0.22m'1.3.1 .sp -1 \h'1.375i-(\w'1.3.1.1'u/2u)' '1.400i-(0v/2u)+0v+0.22m'1.3.1.1 .sp -1 \h'1.375i' '1.000i'\D'l -0.375i 0.500i' .sp -1 \h'1.000i' '1.500i'\D'l 0.750i 0.000i' .sp -1 \h'1.750i' '1.500i'\D'l -0.375i -0.500i' .sp -1 \h'2.087i' '2.647i'\D'l -0.025i 0.100i' .sp -1 \h'2.038i' '2.647i'\D'l 0.025i 0.100i' .sp -1 \h'2.062i' '2.250i'\D'l 0.000i 0.497i' .sp -1 \h'2.062i-(\w'1.2'u/2u)' '2.950i-(0v/2u)+0v+0.22m'1.2 .sp -1 \h'2.062i' '3.250i'\D'l -0.375i -0.500i' .sp -1 \h'1.688i' '2.750i'\D'l 0.750i 0.000i' .sp -1 \h'2.438i' '2.750i'\D'l -0.375i 0.500i' .sp -1 \h'0.350i' '2.603i'\D'l 0.025i -0.100i' .sp -1 \h'0.400i' '2.603i'\D'l -0.025i -0.100i' .sp -1 \h'1.875i' '3.000i'\D'~ -0.500i 0.000i -0.500i 0.000i -0.500i 0.000i 0.000i -0.497i' .sp -1 \h'0.375i-(\w'1.2.1'u/2u)' '3.100i-(0v/2u)+0v+0.22m'1.2.1 .sp -1 \h'0.375i-(\w'1.2.1.1'u/2u)' '2.400i-(0v/2u)+0v+0.22m'1.2.1.1 .sp -1 \h'0.375i' '2.000i'\D'l -0.375i 0.500i' .sp -1 \h'0.000i' '2.500i'\D'l 0.750i 0.000i' .sp -1 \h'0.750i' '2.500i'\D'l -0.375i -0.500i' .sp -1 \h'0.350i' '1.603i'\D'l 0.025i -0.100i' .sp -1 \h'0.400i' '1.603i'\D'l -0.025i -0.100i' .sp -1 \h'0.375i' '2.000i'\D'l 0.000i -0.497i' .sp -1 \h'0.375i-(\w'1.2.1.3'u/2u)' '1.400i-(0v/2u)+0v+0.22m'1.2.1.3 .sp -1 \h'0.375i' '1.000i'\D'l -0.375i 0.500i' .sp -1 \h'0.000i' '1.500i'\D'l 0.750i 0.000i' .sp -1 \h'0.750i' '1.500i'\D'l -0.375i -0.500i' .sp -1 \h'2.725i' '2.603i'\D'l 0.025i -0.100i' .sp -1 \h'2.775i' '2.603i'\D'l -0.025i -0.100i' .sp -1 \h'2.250i' '3.000i'\D'~ 0.500i 0.000i 0.000i -0.497i' .sp -1 \h'2.750i-(\w'1.2.2'u/2u)' '3.100i-(0v/2u)+0v+0.22m'1.2.2 .sp -1 \h'2.750i-(\w'1.2.2.1'u/2u)' '2.400i-(0v/2u)+0v+0.22m'1.2.2.1 .sp -1 \h'2.750i' '2.000i'\D'l -0.375i 0.500i' .sp -1 \h'2.375i' '2.500i'\D'l 0.750i 0.000i' .sp -1 \h'3.125i' '2.500i'\D'l -0.375i -0.500i' .sp -1 \h'3.413i' '1.353i'\D'l 0.025i -0.100i' .sp -1 \h'3.462i' '1.353i'\D'l -0.025i -0.100i' .sp -1 \h'2.938i' '2.250i'\D'~ 0.500i 0.000i 0.000i -0.500i 0.000i -0.497i' .sp -1 \h'3.438i-(\w'1.2.2.1.1'u/2u)' '2.350i-(0v/2u)+0v+0.22m'1.2.2.1.1 .sp -1 \h'3.438i-(\w'\s-21.2.2.1.1.1\s0'u/2u)' '1.150i-(0v/2u)+0v+0.22m'\s-21.2.2.1.1.1\s0 .sp -1 \h'3.438i' '0.750i'\D'l -0.375i 0.500i' .sp -1 \h'3.062i' '1.250i'\D'l 0.750i 0.000i' .sp -1 \h'3.812i' '1.250i'\D'l -0.375i -0.500i' .sp -1 \h'2.725i' '1.603i'\D'l 0.025i -0.100i' .sp -1 \h'2.775i' '1.603i'\D'l -0.025i -0.100i' .sp -1 \h'2.750i' '2.000i'\D'l 0.000i -0.497i' .sp -1 \h'2.750i-(\w'1.2.2.2'u/2u)' '1.400i-(0v/2u)+0v+0.22m'1.2.2.2 .sp -1 \h'2.750i' '1.000i'\D'l -0.375i 0.500i' .sp -1 \h'2.375i' '1.500i'\D'l 0.750i 0.000i' .sp -1 \h'3.125i' '1.500i'\D'l -0.375i -0.500i' .sp -1 \h'2.087i' '3.647i'\D'l -0.025i 0.100i' .sp -1 \h'2.038i' '3.647i'\D'l 0.025i 0.100i' .sp -1 \h'2.062i' '3.250i'\D'l 0.000i 0.497i' .sp -1 \h'2.062i-(\w'1.1'u/2u)' '3.950i-(0v/2u)+0v+0.22m'1.1 .sp -1 \h'2.062i' '4.250i'\D'l -0.375i -0.500i' .sp -1 \h'1.688i' '3.750i'\D'l 0.750i 0.000i' .sp -1 \h'2.438i' '3.750i'\D'l -0.375i 0.500i' .sp -1 .sp 4.250i+1 .if (00 .fi .br .nr 0x 0 .PE .\} .PP .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 co (1), .BR ident (1), .BR rcs (1), .BR rcsclean (1), .BR rcsdiff (1), .BR rcsmerge (1), .BR rlog (1). .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 حاوی اخبار و پیوندها به آخرین نسخه‌ها، سایت توسعه و موارد دیگر است.