import p5-SVN-Web-0.30pre0.40.

SVN::Web is a repository browser for Subversion, similar to cvsweb
and ViewCVS.

This is a snapshot from the SVN::Web Subversion repository; it is
*NOT* a stable release.
This commit is contained in:
epg 2003-12-03 16:13:28 +00:00
parent 936f0a36ca
commit cb5169903b
12 changed files with 223 additions and 0 deletions

5
www/p5-SVN-Web/DESCR Normal file
View file

@ -0,0 +1,5 @@
SVN::Web is a repository browser for Subversion, similar to cvsweb
and ViewCVS.
This is a snapshot from the SVN::Web Subversion repository; it is
*NOT* a stable release.

21
www/p5-SVN-Web/Makefile Normal file
View file

@ -0,0 +1,21 @@
# $NetBSD: Makefile,v 1.1.1.1 2003/12/03 16:13:28 epg Exp $
DISTNAME= SVN-Web-0.30
PKGNAME= p5-${DISTNAME}pre0.40
CATEGORIES= perl5 www
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=OurNet/CLKAO/}
MAINTAINER= epg@NetBSD.org
COMMENT= Unstable snapshot of Subversion repository browser
DEPENDS+= p5-subversion>=0.32.1:../../devel/p5-subversion
DEPENDS+= p5-Template-Toolkit-2.10:../../www/p5-Template-Toolkit
DEPENDS+= p5-Text-Diff-0.35:../../textproc/p5-Text-Diff
DEPENDS+= p5-XML-RSS-0.97:../../textproc/p5-XML-RSS
DEPENDS+= p5-YAML-0.35:../../textproc/p5-YAML
USE_BUILDLINK2= YES
PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/SVN/Web/.packlist
.include "../../lang/perl5/module.mk"
.include "../../mk/bsd.pkg.mk"

1
www/p5-SVN-Web/PLIST Normal file
View file

@ -0,0 +1 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2003/12/03 16:13:28 epg Exp $

12
www/p5-SVN-Web/distinfo Normal file
View file

@ -0,0 +1,12 @@
$NetBSD: distinfo,v 1.1.1.1 2003/12/03 16:13:28 epg Exp $
SHA1 (SVN-Web-0.30.tar.gz) = cc75b148e1fa85e376196c5473902ecda763ffab
Size (SVN-Web-0.30.tar.gz) = 7618 bytes
SHA1 (patch-aa) = 77e92b20bed275b1dca8e2b633b444fb3ed863af
SHA1 (patch-ab) = 8c46db661e3f35afd8315f2935a477d25e9fe1be
SHA1 (patch-ac) = 4284f1ce3b51633f9515e496bba589bacdc24b45
SHA1 (patch-ad) = 4a13e80551392246e6959fa7bd4168f2dacf6e47
SHA1 (patch-ae) = 95343451488441b216d984dec317ee1f4a6ce977
SHA1 (patch-af) = 7c826222781ac137cad7a10df8cff47bb52f0223
SHA1 (patch-ag) = df794f7576c3c0c16a369f6163be6c22b49e31e1
SHA1 (patch-ah) = 7ffa3d538e33d44d166c37fb334d6b1210932058

View file

@ -0,0 +1,13 @@
$NetBSD: patch-aa,v 1.1.1.1 2003/12/03 16:13:28 epg Exp $
--- lib/SVN/Web.pm.orig Wed Aug 27 01:54:11 2003
+++ lib/SVN/Web.pm
@@ -170,7 +170,7 @@ sub handler {
$repos =~ s/^$base// or die "path $repos not inside base $base";
return &Apache::FORBIDDEN unless $repos;
- my $script = $1 if $r->uri =~ m|^((?:/\w+)+)/$repos| or die "can't find script";
+ $script = $1 if $r->uri =~ m|^((?:/\w+)+)/$repos| or die "can't find script";
chdir ($base);
$pool ||= SVN::Pool->new_default;
$config ||= load_config ('config.yaml');

View file

@ -0,0 +1,22 @@
$NetBSD: patch-ab,v 1.1.1.1 2003/12/03 16:13:28 epg Exp $
--- lib/SVN/Web/Branch.pm.orig Tue Aug 26 05:26:55 2003
+++ lib/SVN/Web/Branch.pm
@@ -44,7 +44,7 @@ sub new {
sub branchto {
my ($self, $path, $rev) = @_;
- my @branches = grep { $path =~ m|^$_/?| }
+ my @branches = grep { "$_/" eq substr ($path, 0, length($_)+1) }
keys %{$self->{BRANCHINFO}{src}};
my $ret;
@@ -69,7 +69,7 @@ sub branchto {
sub branchfrom {
my ($self, $path, $rev) = @_;
- my @branches = grep { $path =~ m|^$_/?| }
+ my @branches = grep { "$_/" eq substr ($path, 0, length($_)+1) }
keys %{$self->{BRANCHINFO}{dst}};
my $ret;

View file

@ -0,0 +1,39 @@
$NetBSD: patch-ac,v 1.1.1.1 2003/12/03 16:13:29 epg Exp $
--- lib/SVN/Web/Browse.pm.orig Tue Aug 26 10:33:17 2003
+++ lib/SVN/Web/Browse.pm
@@ -19,24 +19,24 @@ sub run {
my $rev = $self->{cgi}->param('rev') || $fs->youngest_rev;
my $root = $fs->revision_root ($rev);
- my $kind = SVN::Fs::check_path ($root, $self->{path});
+ my $kind = $root->check_path ($self->{path});
- die "path does not exist" if $kind == $SVN::Core::node_none;
+ die "path does not exist" if $kind == $SVN::Node::none;
- die "not a directory in browse" unless $kind == $SVN::Core::node_dir;
+ die "not a directory in browse" unless $kind == $SVN::Node::dir;
my $entries = [ map {{ name => $_->name,
kind => $_->kind,
- isdir => ($_->kind == $SVN::Core::node_dir),
- }} values %{SVN::Fs::dir_entries ($root, $self->{path})}];
+ isdir => ($_->kind == $SVN::Node::dir),
+ }} values %{$root->dir_entries ($self->{path})}];
for (@$entries) {
- $_->{rev} = SVN::Repos::revisions_changed
- ($fs, $self->{path}.'/'.$_->{name}, 0, $rev, 0)->[0];
+ $_->{rev} = ($fs->revision_root ($rev)->node_history
+ ($self->{path}.'/'.$_->{name})->prev(0)->location)[1];
$_->{size} = $_->{isdir} ? '' :
- SVN::Fs::file_length ($root, $self->{path}.'/'.$_->{name});
- $_->{type} = SVN::Fs::node_prop ($root, $self->{path}.$_->{name},
- 'svn:mime-type') unless $_->{isdir};
+ $root->file_length ($self->{path}.'/'.$_->{name});
+ $_->{type} = $root->node_prop ($self->{path}.$_->{name},
+ 'svn:mime-type') unless $_->{isdir};
$_->{type} =~ s|/\w+|| if $_->{type};
}

View file

@ -0,0 +1,22 @@
$NetBSD: patch-ad,v 1.1.1.1 2003/12/03 16:13:29 epg Exp $
--- lib/SVN/Web/Checkout.pm.orig Tue Aug 26 02:26:30 2003
+++ lib/SVN/Web/Checkout.pm
@@ -19,13 +19,12 @@ sub run {
my $rev = $self->{cgi}->param('rev') || $fs->youngest_rev;
my $root = $fs->revision_root ($rev);
- die "not a file" unless SVN::Fs::check_path ($root, $self->{path})
- == $SVN::Core::node_file;
+ die "not a file" unless $root->is_file ($self->{path});
- my $file = SVN::Fs::file_contents ($root, $self->{path});
+ my $file = $root->file_contents ($self->{path});
local $/;
- return {mimetype => SVN::Fs::node_prop ($root, $self->{path},
- 'svn:mime-type') ||'text/plain',
+ return {mimetype => $root->node_prop ($self->{path},
+ 'svn:mime-type') ||'text/plain',
body => <$file>};
}
1;

View file

@ -0,0 +1,29 @@
$NetBSD: patch-ae,v 1.1.1.1 2003/12/03 16:13:29 epg Exp $
--- lib/SVN/Web/Diff.pm.orig Tue Aug 26 07:15:37 2003
+++ lib/SVN/Web/Diff.pm
@@ -21,19 +21,19 @@ sub run {
my $rev2 = $self->{cgi}->param('rev2');
my $root1 = $fs->revision_root ($rev1);
- my $kind = SVN::Fs::check_path ($root1, $self->{path});
+ my $kind = $root1->check_path ($self->{path});
- die "path does not exist" if $kind == $SVN::Core::node_none;
+ die "path does not exist" if $kind == $SVN::Node::none;
# TODO: a diff editor using SVN::Editor::Simple
- die "directory diff not implemented yet" if $kind == $SVN::Core::node_dir;
+ die "directory diff not implemented yet" if $kind == $SVN::Node::dir;
my $root2 = $fs->revision_root ($rev2);
# TODO: different type of presentation, download, etc
return { mimetype => 'text/plain',
body => Text::Diff::diff
- (SVN::Fs::file_contents($root1, $self->{path}),
- SVN::Fs::file_contents($root2, $self->{path}),
+ ($root1->file_contents ($self->{path}),
+ $root2->file_contents ($self->{path}),
{ STYLE => "Unified" })
};
}

View file

@ -0,0 +1,16 @@
$NetBSD: patch-af,v 1.1.1.1 2003/12/03 16:13:29 epg Exp $
--- lib/SVN/Web/Log.pm.orig Tue Aug 26 10:17:16 2003
+++ lib/SVN/Web/Log.pm
@@ -27,9 +27,8 @@ sub run {
$self->{repos}->get_logs ([$self->{path}], $fs->youngest_rev, 0, 0, 0,
sub { $self->_log(@_)});
return {template => 'log',
- data => { isdir => (SVN::Fs::check_path
- ($fs->revision_root ($fs->youngest_rev),
- $self->{path}) == $SVN::Core::node_dir),
+ data => { isdir => ($fs->revision_root ($fs->youngest_rev)->
+ is_dir($self->{path})),
revs => $self->{REVS},
branchpoints => $self->{branch}->branchpoints ($self->{path}),
}};

View file

@ -0,0 +1,13 @@
$NetBSD: patch-ag,v 1.1.1.1 2003/12/03 16:13:29 epg Exp $
--- lib/SVN/Web/RSS.pm.orig Tue Aug 26 10:53:02 2003
+++ lib/SVN/Web/RSS.pm
@@ -9,7 +9,7 @@ sub run {
my $data = $self->SUPER::run(@_)->{data};
my $rss = new XML::RSS (version => '1.0');
- my $url = "http://$ENV{HTTP_HOST}$ENV{SCRIPT_NAME}/$self->{reposname}";
+ my $url = "http://$ENV{HTTP_HOST}$self->{script}/$self->{reposname}";
$rss->channel(title => "subversion revisions of $self->{path}",
link => "$url/log$self->{path}",

View file

@ -0,0 +1,30 @@
$NetBSD: patch-ah,v 1.1.1.1 2003/12/03 16:13:29 epg Exp $
--- lib/SVN/Web/Revision.pm.orig Tue Aug 26 13:31:16 2003
+++ lib/SVN/Web/Revision.pm
@@ -16,7 +16,6 @@ sub _log {
my ($self, $paths, $rev, $author, $date, $msg, $pool) = @_;
my $data = {rev => $rev, author => $author,
date => $date, msg => $msg};
-
$data->{paths} = {map { $_ => {action => $paths->{$_}->action,
copyfrom => $paths->{$_}->copyfrom_path,
copyfromrev => $paths->{$_}->copyfrom_rev,
@@ -24,7 +23,7 @@ sub _log {
my $root = $self->{repos}->fs->revision_root ($rev, $pool);
for (keys %{$data->{paths}}) {
$data->{paths}{$_}{isdir} = 1
- if SVN::Fs::check_path ($root, $_) == $SVN::Core::node_dir;
+ if $data->{paths}{$_}{action} eq 'D' || $root->is_dir ($_);
}
return $data;
}
@@ -55,7 +54,7 @@ revision [% rev %] - [% author || '(no a
[% FOREACH path = paths %]
[% path.value.action %] -
[% IF path.value.isdir %]
-<a href="[% script %]/[% repos %]/browse[% path.key %]?rev=[% rev %]">[% path.key %]</a>
+<a href="[% script %]/[% repos %]/browse[% path.key %]/?rev=[% rev %]">[% path.key %]</a>
[% IF path.value.copyfrom %]
(from
<a href="[% script %]/[% repos %]/browse[% path.value.copyfrom %]/?rev=[% path.value.copyfromrev %]">[% path.value.copyfrom %]:[% path.value.copyfromrev %]</a>