escape ' ' with '+' in url's
diff --git a/gitweb.cgi b/gitweb.cgi
index a88c985..0822cb1 100755
--- a/gitweb.cgi
+++ b/gitweb.cgi
@@ -209,8 +209,8 @@
 
 sub esc {
 	my $str = shift;
-	$str =~ s/ /%20/g;
 	$str =~ s/\+/%2B/g;
+	$str =~ s/ /\+/g;
 	return $str;
 }
 
@@ -2167,7 +2167,7 @@
 
 	if ($pickaxe_search) {
 		$/ = "\n";
-		open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin -S$searchtext";
+		open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin -S\'$searchtext\'";
 		undef %co;
 		my @files;
 		while (my $line = <$fd>) {