paths->construct_breadcrumb($path, false); // ################################################################### $link['log'] = $viewsvn->paths->out('log.php' . $viewsvn->paths->fetch_rev_str(), $path); // ################################################################### $revs = $viewsvn->paths->fetch_rev_num(true); $high = $revs['high']; $low = $revs['low']; if ($high == 'HEAD') { $high = $viewsvn->svn->common->fetch_head_rev($path); } if ($low == 0) { $low = $viewsvn->svn->common->fetch_prev_rev($path, $high); } $diff = new SVNDiff($repos, $relpath, $low, $high); $isdir = (bool)$viewsvn->svn->common->isdir($path); $changes = ''; foreach ($diff->fetch() AS $filename => $file) { $hunktpl = ''; foreach ($file AS $hunk) { $lines = ''; foreach ($hunk AS $key => $line) { $show['hunk'] = false; if ($key == 'hunk' AND isset($line['old'])) { $filepath = ($isdir ? $path . $filename : $path); $rlow = $viewsvn->paths->out('view.php' . $viewsvn->paths->fetch_rev_str(false, $low), $filepath); $rhigh = $viewsvn->paths->out('view.php' . $viewsvn->paths->fetch_rev_str(false, $high), $filepath); $show['hunk'] = true; } else { if ($line['act'] == '+') { $class = 'diff_add_bit'; } else if ($line['act'] == '-') { $class = 'diff_del_bit'; } else { $class = 'diff_norm'; } $line['line_clean'] = $viewsvn->svn->format($line['line']); } eval('$lines .= "' . $template->fetch('diff_line') . '";'); } eval('$hunktpl .= "' . $template->fetch('diff_hunk') . '";'); } eval('$changes .= "' . $template->fetch('diff_file') . '";'); } // ################################################################### eval('$template->flush("' . $template->fetch('diff') . '");'); /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>