data/TWiki/TWikiStoreRcsLiteDotPm.txt,v
changeset 0 414e01d06fd5
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/data/TWiki/TWikiStoreRcsLiteDotPm.txt,v	Sat Jan 26 15:50:53 2008 +0100
     1.3 @@ -0,0 +1,165 @@
     1.4 +head	1.4;
     1.5 +access;
     1.6 +symbols;
     1.7 +locks; strict;
     1.8 +comment	@# @;
     1.9 +
    1.10 +
    1.11 +1.4
    1.12 +date	2008.01.22.03.21.35;	author TWikiContributor;	state Exp;
    1.13 +branches;
    1.14 +next	1.3;
    1.15 +
    1.16 +1.3
    1.17 +date	2007.01.16.04.12.02;	author TWikiContributor;	state Exp;
    1.18 +branches;
    1.19 +next	1.2;
    1.20 +
    1.21 +1.2
    1.22 +date	2006.06.25.16.26.33;	author TWikiContributor;	state Exp;
    1.23 +branches;
    1.24 +next	1.1;
    1.25 +
    1.26 +1.1
    1.27 +date	2006.02.01.12.01.25;	author TWikiContributor;	state Exp;
    1.28 +branches;
    1.29 +next	;
    1.30 +
    1.31 +
    1.32 +desc
    1.33 +@new-topic
    1.34 +@
    1.35 +
    1.36 +
    1.37 +1.4
    1.38 +log
    1.39 +@buildrelease
    1.40 +@
    1.41 +text
    1.42 +@---+ Package =TWiki::Store::RcsLite=
    1.43 +
    1.44 +This package does not publish any methods. It implements the virtual
    1.45 +methods of the [[TWikiStoreRcsFileDotPm][TWiki::Store::RcsFile]] superclass.
    1.46 +
    1.47 +Simple replacement for RCS.  Doesn't support:
    1.48 +   * branches
    1.49 +   * locking
    1.50 +Neither of which are used (or needed) by TWiki.
    1.51 +
    1.52 +This module doesn't know anything about the content of the topic
    1.53 +
    1.54 +There is one of these object for each file stored under RCSLite.
    1.55 +
    1.56 +This object is PACKAGE PRIVATE to Store, and should NEVER be
    1.57 +used from anywhere else.
    1.58 +
    1.59 +FIXME:
    1.60 +   * need to tidy up dealing with \n for differences
    1.61 +   * still have difficulty on line ending at end of sequences, consequence of doing a line based diff
    1.62 +
    1.63 +---++ File format
    1.64 +
    1.65 +<verbatim>
    1.66 +rcstext    ::=  admin {delta}* desc {deltatext}*
    1.67 +admin      ::=  head {num};
    1.68 +                { branch   {num}; }
    1.69 +                access {id}*;
    1.70 +                symbols {sym : num}*;
    1.71 +                locks {id : num}*;  {strict  ;}
    1.72 +                { comment  {string}; }
    1.73 +                { expand   {string}; }
    1.74 +                { newphrase }*
    1.75 +delta      ::=  num
    1.76 +                date num;
    1.77 +                author id;
    1.78 +                state {id};
    1.79 +                branches {num}*;
    1.80 +                next {num};
    1.81 +                { newphrase }*
    1.82 +desc       ::=  desc string
    1.83 +deltatext  ::=  num
    1.84 +                log string
    1.85 +                { newphrase }*
    1.86 +                text string
    1.87 +num        ::=  {digit | .}+
    1.88 +digit      ::=  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    1.89 +id         ::=  {num} idchar {idchar | num }*
    1.90 +sym        ::=  {digit}* idchar {idchar | digit }*
    1.91 +idchar     ::=  any visible graphic character except special
    1.92 +special    ::=  $ | , | . | : | ; | @@
    1.93 +string     ::=  @@{any character, with @@ doubled}*@@
    1.94 +newphrase  ::=  id word* ;
    1.95 +word       ::=  id | num | string | :
    1.96 +</verbatim>
    1.97 +Identifiers are case sensitive. Keywords are in lower case only. The
    1.98 +sets of keywords and identifiers can overlap. In most environments RCS
    1.99 +uses the ISO 8859/1 encoding: visible graphic characters are codes
   1.100 +041-176 and 240-377, and white space characters are codes 010-015 and 040.
   1.101 +
   1.102 +Dates, which appear after the date keyword, are of the form Y.mm.dd.hh.mm.ss,
   1.103 +where Y is the year, mm the month (01-12), dd the day (01-31), hh the hour
   1.104 +(00-23), mm the minute (00-59), and ss the second (00-60). Y contains just
   1.105 +the last two digits of the year for years from 1900 through 1999, and all
   1.106 +the digits of years thereafter. Dates use the Gregorian calendar; times
   1.107 +use UTC.
   1.108 +
   1.109 +The newphrase productions in the grammar are reserved for future extensions
   1.110 +to the format of RCS files. No newphrase will begin with any keyword already
   1.111 +in use.
   1.112 +
   1.113 +Revisions consist of a sequence of 'a' and 'd' edits that need to be
   1.114 +applied to rev N+1 to get rev N. Each edit has an offset (number of lines
   1.115 +from start) and length (number of lines). For 'a', the edit is followed by
   1.116 +length lines (the lines to be inserted in the text). For example:
   1.117 +
   1.118 +d1 3     means "delete three lines starting with line 1
   1.119 +a4 2     means "insert two lines at line 4'
   1.120 +xxxxxx   is the new line 4
   1.121 +yyyyyy   is the new line 5
   1.122 +
   1.123 +
   1.124 +%TOC%
   1.125 +
   1.126 +---++ ObjectMethod *finish* <tt>()</tt>
   1.127 +Break circular references.
   1.128 +
   1.129 +
   1.130 +@
   1.131 +
   1.132 +
   1.133 +1.3
   1.134 +log
   1.135 +@buildrelease
   1.136 +@
   1.137 +text
   1.138 +@a1 2
   1.139 +*extends* <tt>[[TWikiStoreRcsFileDotPm][TWiki::Store::RcsFile]]</tt>
   1.140 +
   1.141 +d85 2
   1.142 +a86 6
   1.143 +---++ ObjectMethod *finish* <tt></tt>
   1.144 +
   1.145 +Complete processing after the client's HTTP request has been responded
   1.146 +to.
   1.147 +   1 breaking circular references to allow garbage collection in persistent
   1.148 +     environments
   1.149 +@
   1.150 +
   1.151 +
   1.152 +1.2
   1.153 +log
   1.154 +@buildrelease
   1.155 +@
   1.156 +text
   1.157 +@d25 1
   1.158 +d88 1
   1.159 +@
   1.160 +
   1.161 +
   1.162 +1.1
   1.163 +log
   1.164 +@buildrelease
   1.165 +@
   1.166 +text
   1.167 +@d85 8
   1.168 +@