| RCSFILE(5) | File Formats Manual | RCSFILE(5) |
نام (NAME)
rcsfile - قالب پرونده RCS
توضیحات (DESCRIPTION)
محتوای یک پرونده RCS با استفاده از دستور زبان (گرامر) زیر توصیف میشود.
متن دارای قالب آزاد است: فاصله (space)، پسبر (backspace)، تب (tab)، خط جدید (newline)، تب عمودی، برگهبر (form feed) و بازگشت به سر سطر (carriage return) (که در مجموع فاصلههای خالی نامیده میشوند) به جز در رشتهها هیچ اهمیتی ندارند. با این حال، فاصله خالی نمیتواند درون یک id، num یا sym ظاهر شود، و یک پرونده RCS باید با یک خط جدید پایان یابد.
رشتهها با @ محصور میشوند. اگر یک رشته حاوی یک @ باشد، باید دو بار تکرار شود (@@)؛ در غیر این صورت، رشتهها میتوانند حاوی دادههای باینری دلخواه باشند.
نحوه نگارش از قراردادهای زیر استفاده میکند: '|' گزینهها را جدا میکند؛ صفر یا چند بار تکرار شوند در بر میگیرند؛ '{' و '}+' عباراتی را در بر میگیرند که باید حداقل یک بار ظاهر شوند و میتوانند تکرار شوند؛ نمادهای پایانی به صورت پررنگ و نمادهای غیرپایانی به صورت مورب نمایش داده شدهاند.
y .nr w y y .nr x y y .nr x y wu +120u + xu+48u
?2rcstext?P ::= ?2admin?P {?2delta?P}* ?2desc?P {?2deltatext?P}*
?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 }
?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 }
?2desc?P ::= ?3desc?P ?2string?P
?2deltatext?P ::= ?2num?P ?3log?P ?2string?P ?3text?P ?2string?P
?2num?P ::= {?2digit?P | ?3.?P}+
?2digit?P ::= ?30?P | ?31?P | ?32?P | ?33?P | ?34?P | ?35?P | ?36?P | ?37?P | ?38?P | ?39?P
?2id?P ::= {?2idchar?P | ?3.?P}+
?2sym?P ::= {?2idchar?P}+
?2idchar?P ::= any visible graphic character except ?2special?P
?2special?P ::= ?3$?P | ?3,?P | ?3.?P | ?3:?P | ?3;?P | ?3@?P
?2string?P ::= ?3@?P{any character, with ?3@?P doubled}*?3@?P
?2word?P ::= ?2id?P | ?2num?P | ?2string?P | ?3:?P
?2intchar?P ::= any character, except ?3@?P
?2thirdp?P ::= ?3^L?P {?2intchar?P}*
?2intstring?P ::= ?3@?P {?2intchar?P}* {?2thirdp?P}* ?3@?P
در نسخههای پیش از 5.8 (2011-08-30)، این گرامر شامل قاعده newphrase بود و در قواعد admin، delta و deltatext استفاده میشد. این به برنامههای شخص ثالث اجازه میداد با ذخیره دادههای کدر (برای RCS) در فایل، با RCS تعامل داشته باشند. از نسخه 5.8، در جهت پیشرفت (به سمت پشتیبانی سیستماتیکتر از یکپارچگی فایل)، تنها ناحیه رزروشده برای تعامل شخص ثالث در مقدار (رشتهای) فیلد integrity است، به ویژه پس از اولین ^L (formfeed). یک محدودیت بیشتر (برای همه برنامهها) این است که مقدار integrity نباید حاوی @ باشد.
شناسهها به بزرگی و کوچکی حروف حساس هستند. کلیدواژهها فقط با حروف کوچک هستند. مجموعههای کلیدواژهها و شناسهها میتوانند همپوشانی داشته باشند. در اغلب محیطها، RCS از کدگذاری ISO 8859/1 استفاده میکند: نویسههای گرافیکی مرئی کدهای 041-176 و 240-377 هستند، و نویسههای فاصله کدهای 010-015 و 040 میباشند.
تاریخها که پس از کلیدواژه date میآیند، به شکل ?2Y?P?3.?P?2mm?P?3.?P?2dd?P?3.?P?2hh?P?3.?P?2mm?P?3.?P?2ss?P هستند، که در آن Y سال، mm ماه (01-12)، dd روز (01-31)، hh ساعت (00-23)، mm دقیقه (00-59) و ss ثانیه (00-60) است. Y تنها شامل دو رقم آخر سال برای سالهای ۱۹۰۰ تا ۱۹۹۹ است، و برای سالهای پس از آن شامل تمامی ارقام سال است. تاریخها از گاهشماری گریگوری و زمانها از UTC استفاده میکنند.
گرههای delta یک ساختار درختی را تشکیل میدهند. تمامی گرههایی که شماره آنها شامل یک جفت منفرد است (مانند 2.3، 2.1، 1.3 و غيره) روی تنه اصلی (trunk) قرار دارند و از طریق فیلد next به ترتیب نزولی شمارهها پیوند خوردهاند. فیلد head در گره admin به سر این توالی اشاره دارد (یعنی شامل بالاترین جفت است). گره branch در گره admin نشاندهنده شاخه (یا بازنگری) پیشفرض برای اکثر عملیاتهای RCS است. اگر خالی باشد، شاخه پیشفرض بالاترین شاخه روی تنه اصلی خواهد بود.
تمامی گرههای delta که شماره آنها از 2n فیلد (n≥2) تشکیل شده است (مانند 3.1.1.1، 2.1.2.2 و غیره) به صورت زیر پیوند میخورند. تمامی گرههایی که نخستین 2n-1 فیلد عددی آنها یکسان است، از طریق فیلد next به ترتیب صعودی شمارهها پیوند مییابند. برای هر یک از این توالیها، گره delta که شماره آن با نخستین 2n-2 فیلد عددی دلتاهای آن توالی یکسان است، نقطه انشعاب (branchpoint) نامیده میشود. فیلد branches یک گره شامل فهرستی از شمارههای گرههای نخست تمامی توالیهایی است که این گره نقطه انشعاب آنهاست. این فهرست به ترتیب صعودی شمارهها مرتب شده است.
نمودار زیر نمونهای از سازماندهی یک پرونده RCS را نشان میدهد:
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 /
\ /
\ /
\ /
(.u
?'0.125i-(0v/2u)+0v+0.22m'Head ?'0.647i' ?'0.647i' ?'0.250i' ?'1.250i' ?'1.250i' ?'0.750i' ?'0.750i' ?'1.000i-(0v/2u)+0v+0.22m'2.1 ?'1.647i' ?'1.647i' ?'1.250i' ?'1.950i-(0v/2u)+0v+0.22m'1.3 ?'2.250i' ?'1.750i' ?'1.750i' ?'1.603i' ?'1.603i' ?'2.000i' ?'2.100i-(0v/2u)+0v+0.22m'1.3.1 ?'1.400i-(0v/2u)+0v+0.22m'1.3.1.1 ?'1.000i' ?'1.500i' ?'1.500i' ?'2.647i' ?'2.647i' ?'2.250i' ?'2.950i-(0v/2u)+0v+0.22m'1.2 ?'3.250i' ?'2.750i' ?'2.750i' ?'2.603i' ?'2.603i' ?'3.000i' ?'3.100i-(0v/2u)+0v+0.22m'1.2.1 ?'2.400i-(0v/2u)+0v+0.22m'1.2.1.1 ?'2.000i' ?'2.500i' ?'2.500i' ?'1.603i' ?'1.603i' ?'2.000i' ?'1.400i-(0v/2u)+0v+0.22m'1.2.1.3 ?'1.000i' ?'1.500i' ?'1.500i' ?'2.603i' ?'2.603i' ?'3.000i' ?'3.100i-(0v/2u)+0v+0.22m'1.2.2 ?'2.400i-(0v/2u)+0v+0.22m'1.2.2.1 ?'2.000i' ?'2.500i' ?'2.500i' ?'1.353i' ?'1.353i' ?'2.250i' ?'2.350i-(0v/2u)+0v+0.22m'1.2.2.1.1 ?'1.150i-(0v/2u)+0v+0.22m'1.2.2.1.1.1 ?'0.750i' ?'1.250i' ?'1.250i' ?'1.603i' ?'1.603i' ?'2.000i' ?'1.400i-(0v/2u)+0v+0.22m'1.2.2.2 ?'1.000i' ?'1.500i' ?'1.500i' ?'3.647i' ?'3.647i' ?'3.250i' ?'3.950i-(0v/2u)+0v+0.22m'1.1 ?'4.250i' ?'3.750i' ?'3.750i'
شناسایی (IDENTIFICATION)
نویسنده: Walter
F. Tichy.
بازنگری
صفحه
راهنما: 5.10.1;
تاریخ
انتشار: 2022-02-03.
حق نشر © 2010-2022 Thien-Thi Nguyen.
حق نشر © 1990, 1991, 1992, 1993,
1994, 1995 Paul Eggert.
حق نشر © 1982, 1988, 1989 Walter F.
Tichy.
همچنین ببینید (SEE ALSO)
ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1).
Walter F. Tichy, RCS--A System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.
مستندات کامل RCS به عنوان یک کتابچه راهنمای Texinfo نگهداری میشود. اگر برنامههای info(1) و RCS به درستی در سیستم شما نصب شده باشند، دستور
- info rcs
باید دسترسی به راهنمای کامل را برای شما فراهم سازد. همچنین، صفحه اصلی RCS در:
حاوی اخبار و پیوندها به آخرین نسخهها، سایت توسعه و موارد دیگر است.
| 2022-02-03 | GNU RCS 5.10.1 |