Skip site navigation (1)Skip section navigation (2)
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>