From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Apr 20 16:10:05 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC4BB1065674 for ; Mon, 20 Apr 2009 16:10:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A88078FC16 for ; Mon, 20 Apr 2009 16:10:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n3KGA5Rk041485 for ; Mon, 20 Apr 2009 16:10:05 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n3KGA5IW041484; Mon, 20 Apr 2009 16:10:05 GMT (envelope-from gnats) Resent-Date: Mon, 20 Apr 2009 16:10:05 GMT Resent-Message-Id: <200904201610.n3KGA5IW041484@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Will Bond Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0A8C1065689 for ; Mon, 20 Apr 2009 16:04:50 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 753068FC0C for ; Mon, 20 Apr 2009 16:04:50 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n3KG4ot9098086 for ; Mon, 20 Apr 2009 16:04:50 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n3KG4ogH098085; Mon, 20 Apr 2009 16:04:50 GMT (envelope-from nobody) Message-Id: <200904201604.n3KG4ogH098085@www.freebsd.org> Date: Mon, 20 Apr 2009 16:04:50 GMT From: Will Bond To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/133877: Diff view of devel/p5-SVN-Web does not work with subversion 1.5.0 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Apr 2009 16:10:06 -0000 >Number: 133877 >Category: ports >Synopsis: Diff view of 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: Mon Apr 20 16:10:05 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Will Bond >Release: 7.0-RELEASE >Organization: iMarc >Environment: FreeBSD internal.example.com 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: When trying to view the HTML or Text diff of a file via SVN::Web the page returns a 500 Internal Server Error. The apache error log includes: svn: In file 'subversion/libsvn_ra/ra_loader.c' line 778 It looks like all of the rest of the SVN 1.5 changes were fixes in the last patch, but this one was missed. I found the difference by looking at the patch from http://rt.cpan.org/Public/Bug/Display.html?id=37388. >How-To-Repeat: Browse to an individual file in SVN::Web with more than one revision, click "View Revision Log" and then click either "HTML" or "TEXT" in the Diff column. >Fix: Patch attached with submission follows: diff -Nuarb SVN-Web-0.53/lib/SVN/Web/Diff.pm SVN-Web-0.53/lib/SVN/Web/Diff.pm.new --- SVN-Web-0.53/lib/SVN/Web/Diff.pm 2007-04-29 15:22:51.000000000 -0400 +++ SVN-Web-0.53/lib/SVN/Web/Diff.pm.new 2009-04-20 11:38:45.000000000 -0400 @@ -188,8 +188,11 @@ my $mime = $self->{cgi}->param('mime') || 'text/html'; - my %types = ( $rev1 => $ra->check_path($path, $rev1), - $rev2 => $ra->check_path($path, $rev2) ); + my $path_getlog = $path; + if ($path_getlog eq "/") {$path_getlog = "";} + $path_getlog =~ s/^\///; + my %types = ( $rev1 => $ra->check_path($path_getlog, $rev1), + $rev2 => $ra->check_path($path_getlog, $rev2) ); SVN::Web::X->throw(error => '(cannot diff nodes of different types: %1 %2 %3)', vars => [$path, $rev1, $rev2]) @@ -299,7 +302,10 @@ my $ra = $self->{repos}{ra}; - if($ra->check_path($path, $rev) == $SVN::Node::none) { + my $path_getlog = $path; + if ($path_getlog eq "/") {$path_getlog = "";} + $path_getlog =~ s/^\///; + if($ra->check_path($path_getlog, $rev) == $SVN::Node::none) { SVN::Web::X->throw( error => '(path %1 does not exist in revision %2)', vars => [$path, $rev], >Release-Note: >Audit-Trail: >Unformatted: