SVK
view release on metacpan or search on metacpan
lib/SVK/Patch.pm view on Meta::CPAN
# Normalize all line endings to LF
binmode($fh, ":eol(LF)");
# Serialized patches always begins with a block marker.
# We need the \nVersion: to not trip over inlined block makers.
# This is safe because unidiff can't have lines beginning with 'V'.
local $/ = "==== BEGIN SVK PATCH BLOCK ====\nVersion:"; <$fh>;
# Now we ignore header paragraph.
$/ = ""; <$fh>;
# Slurp everything up to the '=' of the end marker.
$/ = "\n="; <$fh>;
};
die loc("Cannot find a patch block in %1.\n", $file) unless $content;
chop $content; # remove the final '='. look, a use of chop()!
my ($self) = thaw (uncompress (decode_base64 ( $content ) ) );
$self->{_xd} = $xd;
$self->{_depot} = $self->{_xd}->find_depot($depot);
( run in 0.284 second using v1.01-cache-2.11-cpan-49f99fa48dc )