ports/125701: devel/p5-SVN-Web does not work with subversion 1.5.0
mitsuru at riken.jp
mitsuru at riken.jp
Thu Jul 17 04:40:03 UTC 2008
>Number: 125701
>Category: ports
>Synopsis: devel/p5-SVN-Web does not work with subversion 1.5.0
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Jul 17 04:40:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:
>Release: FreeBSD 7.0-RELEASE-p2 i386
>Organization:
RIKEN
>Environment:
System: FreeBSD 7.0-RELEASE-p2
>Description:
As mentioned in http://rt.cpan.org/Public/Bug/Display.html?id=37388,
new get_log function does not accept path argument beginning with "/".
This is just a workaround and may be a wrong fix.
Although it may be better to wait for upstream fix, this fix will
help some.
>How-To-Repeat:
use p5-SVN-Web with subversion 1.5.0
>Fix:
diff -ruN p5-SVN-Web.old/files/patch-Log.pm p5-SVN-Web/files/patch-Log.pm
--- p5-SVN-Web.old/files/patch-Log.pm 1970-01-01 09:00:00.000000000 +0900
+++ p5-SVN-Web/files/patch-Log.pm 2008-07-17 11:44:25.000000000 +0900
@@ -0,0 +1,22 @@
+--- lib/SVN/Web/Log.pm.org 2008-07-17 11:23:59.000000000 +0900
++++ lib/SVN/Web/Log.pm 2008-07-17 11:27:14.000000000 +0900
+@@ -214,7 +214,10 @@
+ # entries then we're on the last page.
+ #
+ # If we're not on the last page then pop off the extra log entry
+- $ra->get_log([$path], $rev, 1, $limit + 1, 1, 1,
++ my $path_getlog = $path;
++ if ($path_getlog eq "/") {$path_getlog = "";}
++ $path_getlog =~ s/^\///;
++ $ra->get_log([$path_getlog], $rev, 1, $limit + 1, 1, 1,
+ sub { $self->_log(@_) });
+
+ $at_oldest = @{ $self->{REVS} } <= $limit;
+@@ -222,6 +225,7 @@
+ pop @{ $self->{REVS} } unless $at_oldest;
+ } else {
+ # We must be displaying to the oldest rev, so no paging required
++ if($path eq "/") {$path = "";}
+ $ra->get_log([$path], $rev, 1, $limit, 1, 1,
+ sub { $self->_log(@_) });
+
diff -ruN p5-SVN-Web.old/files/patch-Revision.pm p5-SVN-Web/files/patch-Revision.pm
--- p5-SVN-Web.old/files/patch-Revision.pm 1970-01-01 09:00:00.000000000 +0900
+++ p5-SVN-Web/files/patch-Revision.pm 2008-07-17 11:44:25.000000000 +0900
@@ -0,0 +1,11 @@
+--- lib/SVN/Web/Revision.pm.org 2008-07-17 11:24:07.000000000 +0900
++++ lib/SVN/Web/Revision.pm 2008-07-17 11:24:50.000000000 +0900
+@@ -211,7 +211,7 @@
+ )
+ if $rev > $yrev;
+
+- $ra->get_log(['/'], $rev, $rev, 1, 1, 1,
++ $ra->get_log([''], $rev, $rev, 1, 1, 1,
+ sub { $self->{REV} = $self->_log(@_) });
+
+ $self->_resolve_changed_paths();
diff -ruN p5-SVN-Web.old/files/patch-View.pm p5-SVN-Web/files/patch-View.pm
--- p5-SVN-Web.old/files/patch-View.pm 1970-01-01 09:00:00.000000000 +0900
+++ p5-SVN-Web/files/patch-View.pm 2008-07-17 11:44:25.000000000 +0900
@@ -0,0 +1,14 @@
+--- lib/SVN/Web/View.pm.org 2008-07-17 11:24:12.000000000 +0900
++++ lib/SVN/Web/View.pm 2008-07-17 11:24:53.000000000 +0900
+@@ -134,7 +134,10 @@
+ my $rev = $act_rev;
+
+ # Get the log for this revision of the file
+- $ra->get_log([$path], $rev, $rev, 1, 1, 1,
++ my $path_getlog = $path;
++ if ($path_getlog eq "/") {$path_getlog = "";}
++ $path_getlog =~ s/^\///;
++ $ra->get_log([$path_getlog], $rev, $rev, 1, 1, 1,
+ sub { $self->{REV} = $self->_log(@_) });
+
+ # Get the text for this revision of the file
diff -ruN p5-SVN-Web.old/files/patch-action.pm p5-SVN-Web/files/patch-action.pm
--- p5-SVN-Web.old/files/patch-action.pm 1970-01-01 09:00:00.000000000 +0900
+++ p5-SVN-Web/files/patch-action.pm 2008-07-17 11:44:25.000000000 +0900
@@ -0,0 +1,14 @@
+--- lib/SVN/Web/action.pm.org 2008-07-17 11:24:18.000000000 +0900
++++ lib/SVN/Web/action.pm 2008-07-17 11:24:57.000000000 +0900
+@@ -241,7 +241,10 @@
+ my $ra = $self->{repos}{ra};
+
+ my @log_result;
+- $ra->get_log([$path], $rev, 1, 1, 0, 1,
++ my $path_getlog = $path;
++ if ($path_getlog eq "/") {$path_getlog = "";}
++ $path_getlog =~ s/^\///;
++ $ra->get_log([$path_getlog], $rev, 1, 1, 0, 1,
+ sub { @log_result = @_; });
+
+ return @log_result if wantarray();
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list