2012年4月24日火曜日

PHP用のSubVersion制御ライブラリ「VersionControl_SVN」


「VersionControl_SVN」は、PHP用のSubVersion制御ライブラリd

インストール方法
pear install channel://pear.php.net/VersionControl_SVN-0.4.0

マニュアル
http://pear.php.net/manual/ja/package.tools.versioncontrol-svn.php

特定リビジョンと最新の差分を取得するサンプル

require_once 'VersionControl/SVN.php';

// Setup error handling -- always a good idea!
$svnstack = &PEAR_ErrorStack::singleton('VersionControl_SVN');

// Set up runtime options. Will be passed to all
// subclasses.
$options = array('fetchmode' => VERSIONCONTROL_SVN_FETCHMODE_RAW);

$svn = VersionControl_SVN::factory(array('diff'), $options);

$switches = array('r' => '11', 'xml' => true, 'summarize' => true);
//$switches = array('r' => '11', 'xml' => true);
$args = array('file:///var/svn/test1');
if ($diffs = $svn->diff->run($args, $switches)) {
    print_r($diffs);
} else {
    if (count($errs = $svnstack->getErrors())) {
        echo .$err['message']."\n";
        echo "Command used: " . $err['params']['cmd'];
    }
}

$switchesの'r'に最新版と比較するリビジョンを設定する。
'xml'、'summarize'で XML形式にまとめられた結果を$diffsに取得できる。

0 件のコメント:

コメントを投稿