VCS-Lite-0.04 > VCS::Lite::Delta

名前

VCS::Lite::Delta - VCS::Lite differences

概要

  use VCS::Lite;

  # diff

  my $lit = VCS::Lite->new('/home/me/foo1.txt');
  my $lit2 = VCS::Lite->new('/home/me/foo2.txt');
  my $difftxt = $lit->delta($lit2)->diff;
  print OUTFILE $difftxt;

  # patch

  my $delt = VCS::Lite::Delta->new('/home/me/patch.diff');
  my $lit3 = $lit->patch($delt);
  print OUTFILE $lit3->text;

  # merge

  my $lit4 = $lit->merge($lit->delta($lit2),$lit->delta($lit3));
  print OUTFILE $lit4->text;

説明

This module provides a Delta class for the differencing functionalit OF VCS::LITE

このモジュールは、VCS::LITE の 差分機能のための Delta クラスを提供します。

new

VCS::Lite::Delta の基礎となるオブジェクトは、Algorithm::Diff によって返される ような差分のチャンクの配列です。

コンストラクタは、下記のような形を取ります:

  my $delt = VCS::Lite::Delta->new( '/my/file.diff',$sep); # ファイル名
  my $delt = VCS::Lite::Delta->new( \*FILE,$sep);       # ファイルハンドル
  my $delt = VCS::Lite::Delta->new( \$string,$sep); # スカラリファレンスとして文字列
  my $delt = VCS::Lite::Delta->new( \@foo, $id1, $id2) # 配列リファレンス

ここの、$sep は、正規表現で、文字列をトークンに分割するものです。 デフォルトでは、自然の Perl のメカニズムの $/ です。 (これは、ファイルから読まないときにエミュレートされます)。

diff

  print OUTFILE $delt->diff

これは、標準的な diff のフォーマットを返します。例:

4c4 < Now wherefore stopp'st thou me? --- > Now wherefore stoppest thou me?

コピーライト

Copyright (c) Ivor Williams, 2003

原文まま

You may use, modify and distribute this module under the same terms as Perl itself.

SEE ALSO

Algorithm::Diff.