data/TWiki/TWikiStoreRcsLiteDotPm.txt,v
changeset 0 414e01d06fd5
equal deleted inserted replaced
-1:000000000000 0:414e01d06fd5
       
     1 head	1.4;
       
     2 access;
       
     3 symbols;
       
     4 locks; strict;
       
     5 comment	@# @;
       
     6 
       
     7 
       
     8 1.4
       
     9 date	2008.01.22.03.21.35;	author TWikiContributor;	state Exp;
       
    10 branches;
       
    11 next	1.3;
       
    12 
       
    13 1.3
       
    14 date	2007.01.16.04.12.02;	author TWikiContributor;	state Exp;
       
    15 branches;
       
    16 next	1.2;
       
    17 
       
    18 1.2
       
    19 date	2006.06.25.16.26.33;	author TWikiContributor;	state Exp;
       
    20 branches;
       
    21 next	1.1;
       
    22 
       
    23 1.1
       
    24 date	2006.02.01.12.01.25;	author TWikiContributor;	state Exp;
       
    25 branches;
       
    26 next	;
       
    27 
       
    28 
       
    29 desc
       
    30 @new-topic
       
    31 @
       
    32 
       
    33 
       
    34 1.4
       
    35 log
       
    36 @buildrelease
       
    37 @
       
    38 text
       
    39 @---+ Package =TWiki::Store::RcsLite=
       
    40 
       
    41 This package does not publish any methods. It implements the virtual
       
    42 methods of the [[TWikiStoreRcsFileDotPm][TWiki::Store::RcsFile]] superclass.
       
    43 
       
    44 Simple replacement for RCS.  Doesn't support:
       
    45    * branches
       
    46    * locking
       
    47 Neither of which are used (or needed) by TWiki.
       
    48 
       
    49 This module doesn't know anything about the content of the topic
       
    50 
       
    51 There is one of these object for each file stored under RCSLite.
       
    52 
       
    53 This object is PACKAGE PRIVATE to Store, and should NEVER be
       
    54 used from anywhere else.
       
    55 
       
    56 FIXME:
       
    57    * need to tidy up dealing with \n for differences
       
    58    * still have difficulty on line ending at end of sequences, consequence of doing a line based diff
       
    59 
       
    60 ---++ File format
       
    61 
       
    62 <verbatim>
       
    63 rcstext    ::=  admin {delta}* desc {deltatext}*
       
    64 admin      ::=  head {num};
       
    65                 { branch   {num}; }
       
    66                 access {id}*;
       
    67                 symbols {sym : num}*;
       
    68                 locks {id : num}*;  {strict  ;}
       
    69                 { comment  {string}; }
       
    70                 { expand   {string}; }
       
    71                 { newphrase }*
       
    72 delta      ::=  num
       
    73                 date num;
       
    74                 author id;
       
    75                 state {id};
       
    76                 branches {num}*;
       
    77                 next {num};
       
    78                 { newphrase }*
       
    79 desc       ::=  desc string
       
    80 deltatext  ::=  num
       
    81                 log string
       
    82                 { newphrase }*
       
    83                 text string
       
    84 num        ::=  {digit | .}+
       
    85 digit      ::=  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
       
    86 id         ::=  {num} idchar {idchar | num }*
       
    87 sym        ::=  {digit}* idchar {idchar | digit }*
       
    88 idchar     ::=  any visible graphic character except special
       
    89 special    ::=  $ | , | . | : | ; | @@
       
    90 string     ::=  @@{any character, with @@ doubled}*@@
       
    91 newphrase  ::=  id word* ;
       
    92 word       ::=  id | num | string | :
       
    93 </verbatim>
       
    94 Identifiers are case sensitive. Keywords are in lower case only. The
       
    95 sets of keywords and identifiers can overlap. In most environments RCS
       
    96 uses the ISO 8859/1 encoding: visible graphic characters are codes
       
    97 041-176 and 240-377, and white space characters are codes 010-015 and 040.
       
    98 
       
    99 Dates, which appear after the date keyword, are of the form Y.mm.dd.hh.mm.ss,
       
   100 where Y is the year, mm the month (01-12), dd the day (01-31), hh the hour
       
   101 (00-23), mm the minute (00-59), and ss the second (00-60). Y contains just
       
   102 the last two digits of the year for years from 1900 through 1999, and all
       
   103 the digits of years thereafter. Dates use the Gregorian calendar; times
       
   104 use UTC.
       
   105 
       
   106 The newphrase productions in the grammar are reserved for future extensions
       
   107 to the format of RCS files. No newphrase will begin with any keyword already
       
   108 in use.
       
   109 
       
   110 Revisions consist of a sequence of 'a' and 'd' edits that need to be
       
   111 applied to rev N+1 to get rev N. Each edit has an offset (number of lines
       
   112 from start) and length (number of lines). For 'a', the edit is followed by
       
   113 length lines (the lines to be inserted in the text). For example:
       
   114 
       
   115 d1 3     means "delete three lines starting with line 1
       
   116 a4 2     means "insert two lines at line 4'
       
   117 xxxxxx   is the new line 4
       
   118 yyyyyy   is the new line 5
       
   119 
       
   120 
       
   121 %TOC%
       
   122 
       
   123 ---++ ObjectMethod *finish* <tt>()</tt>
       
   124 Break circular references.
       
   125 
       
   126 
       
   127 @
       
   128 
       
   129 
       
   130 1.3
       
   131 log
       
   132 @buildrelease
       
   133 @
       
   134 text
       
   135 @a1 2
       
   136 *extends* <tt>[[TWikiStoreRcsFileDotPm][TWiki::Store::RcsFile]]</tt>
       
   137 
       
   138 d85 2
       
   139 a86 6
       
   140 ---++ ObjectMethod *finish* <tt></tt>
       
   141 
       
   142 Complete processing after the client's HTTP request has been responded
       
   143 to.
       
   144    1 breaking circular references to allow garbage collection in persistent
       
   145      environments
       
   146 @
       
   147 
       
   148 
       
   149 1.2
       
   150 log
       
   151 @buildrelease
       
   152 @
       
   153 text
       
   154 @d25 1
       
   155 d88 1
       
   156 @
       
   157 
       
   158 
       
   159 1.1
       
   160 log
       
   161 @buildrelease
       
   162 @
       
   163 text
       
   164 @d85 8
       
   165 @