Why not adopt me?
NAME
VCS::Rcs::Deltatext - Perl extension for RCS like Deltatext parsing
SYNOPSIS
use VCS::Rcs::Deltatext;
my $dt = new VCS::Rcs::Deltatext();
# Parse RCS file and find the last revision.
# Put 'Last Revision' in
$dt->lastrev($ref_text, $rev);
# Parse RCS file and find the following revisions
# Aply the deltatext
$dt->deltarev($ref_deltatext, $rev);
# add other details
$dt->date($rev. $date);
$dt->author($rev. $author);
$dt->anything($rev. $anything);
...
...
# more 'deltarev's and details
@all_revisions = $dt->revs();
print "Revisions Text : ", $dt->rev('1.1'), "\n";
print "Revisions Date : ", $dt->date('1,1'), "\n";
print "Revisions Athor : ", $dt->author('1,1'), "\n";
print "Revisions Anything: ", $dt->anything('1,1'), "\n";
DESCRIPTION
VCS::Rcs::Deltatext, simply applies 'diff -n' style patches. This format is used in RCS files to keep the file history. Because there is no other use for today (as far as I know) this class is put under VCS::Rcs::. Unless you have a verygood reason not to use patch(1)
METHODS
new
-
$o = new VCS::Rcs::Deltatext;
Create a new instance of VCS::Rcs::Deltatext.
lastrev
-
$o->lastrev($ref_text, $rev);
Put the latest revision into the object.
deltarev
-
$o->deltarev($ref_deltatext, $rev);
Patch the latest revision stored in the object. $ref_deltatext is a referanse to a scalar containing the text with the
diff -n
style format. It is constracted from two simple command.d
delete anda
add. Here is a sample:d2 1 a2 1 Text to be added d5 4 a8 2 More text to add And more.
This kind of format is used in RCS files. And also if you use diff(1) command with the option
-n
you should get the same sort of format. rev
-
$o->rev($rev);
Get a specific revision.
date
-
$o->date($rev, $date); $o->date($rev);
Assigne or get a date for a revision
-
$o->author($rev, $author_name); $o->author($rev);
Assigne or get a author name for a revision
anything
-
$o->anything($rev, $date); $o->anything($rev);
Assigne or get any kind of other information you want to keep for a revision. This is an AUTOLOAD future.
BUGS
It keeps all the revisions in the object, and uses split on ant text you supply so it can be a memory monster if you are working with large number of revisions or text.
There will be more documentation soon.
AUTHOR
Ziya Suzen, ziya@ripe.net
SEE ALSO
rcsfile(5), diff(1), patch(1), Rcs(3), perl(1).