BUG:svn 集成的问题
集成svn之后,通过svn提交的内容,可以方便的看diff和view。但是今天我遇到一个问题,就是当我的svn服务器换了地方之后,这里就没法看了。因为diff和view的参数url在一开始就保存到数据库了,而且还是编码之后的,替换起来非常的麻烦。
比如我的svn仓库在A服务器的时候,部署在/home/svn。后来搬迁到B服务器的时候,改到了/data/svn。之前的就挂了。。。
public function createActionChanges($log, $repoRoot)
{
if(!$log->files) return array();
$diff = '';
$oldSelf = $this->server->PHP_SELF;
$this->server->set('PHP_SELF', $this->config->webRoot);
if(!$repoRoot) $repoRoot = $this->repoRoot;
foreach($log->files as $action => $actionFiles)
{
foreach($actionFiles as $file)
{
$param = array('url' => helper::safe64Encode($repoRoot . $file), 'revision' => $log->revision);
$catLink = trim(html::a(helper::createLink('svn', 'cat', $param, 'html'), 'view', '', "class='repolink'"));
$diffLink = trim(html::a(helper::createLink('svn', 'diff', $param, 'html'), 'diff', '', "class='repolink'"));
$diff .= $action . " " . $file . " $catLink ";
$diff .= $action == 'M' ? "$diffLink\n" : "\n" ;
}
}
$changes->field = 'subversion';
$changes->old = '';
$changes->new = '';
$changes->diff = trim($diff);
$this->server->set('PHP_SELF', $oldSelf);
return (array)$changes;
}




精品资料包
1V1产品演示
免费试用增强功能
专属顾问答疑支持


