バグ、SvnLogger::TYPE_SHELL()モードで使用してSvnLogger->toRss()するとWarningになる。

どんな現象か?

このスクリプトを実行すると、Rss出力できるんですが、

Warning: Cannot modify header information - headers already sent in ...

も表示されるorz

<?php
//ini_set("display_errors","On");
//ini_set("display_startup_errors","On");

include_once(dirname(__FILE__).'/__init__.php');
Rhaco::import('arbo.network.SvnLogger');

chdir(dirname(__FILE__).'/../rhaco');
//echo getcwd() . "\n";
//system("/usr/bin/svn info");
$svn = new SvnLogger(SvnLogger::TYPE_SHELL(), '');
$to = $svn->last();
$from = $to - 100;
$svn->revision($from, $to);
$svn->toRss('rhaco-svn-sourceforge-net', 'rhaco リポジトリのリビジョン', 'http://sourceforge.net/projects/rhaco/');
?>

修正してみた。

arbo/network/SvnLogger.php(Rev15)

<?php
:
class SvnLogger{
:
    function _cmd($cmd){
        Logger::debug($cmd);
$out='';
exec($cmd,$out);
return implode("\n",$out);
        ob_start();
            system($cmd);
        return ob_get_clean();
    }
}
?>

しかしながら、なぜこのように修正すれば改善されるのか謎です。
詳しくは次の記事で。