Date: Thu, 17 Jul 2008 13:10:31 +0900 (JST) From: mitsuru@riken.jp To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/125701: devel/p5-SVN-Web does not work with subversion 1.5.0 Message-ID: <200807170410.m6H4AVi2031823@zebu.yokohama.riken.jp> Resent-Message-ID: <200807170440.m6H4e3m7024522@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807170410.m6H4AVi2031823>