From: Christian Weiske Date: Wed, 27 Dec 2023 14:00:33 +0000 (+0100) Subject: Fix downloading of raw files with folder names X-Git-Url: https://git.cweiske.de/phorkie.git/commitdiff_plain/94896025195a7a8795b8a06cc7a3d02ff295fe2f Fix downloading of raw files with folder names Previously an error occured for an URL like "http://phorkie.cwboo/18/rev-raw/1f656befc962f35c6adbce29f3fe30d8297489e8/foo/bar.ini": > Some errors in executing git command > Output: Error: fatal: ambiguous argument '1f656befc962f35c6adbce29f3fe30d8297489e8/foo': > unknown revision or path not in the working tree. > Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' --- diff --git a/README.rst b/README.rst index ccdd14c..1a96ad1 100644 --- a/README.rst +++ b/README.rst @@ -376,7 +376,7 @@ If you use nginx, place the following lines into your ``server`` block: rewrite ^/([0-9]+)/fork$ /fork.php?id=$1; rewrite ^/([0-9]+)/raw/(.+)$ /raw.php?id=$1&file=$2; rewrite ^/([0-9]+)/rev/(.+)$ /revision.php?id=$1&rev=$2; - rewrite ^/([0-9]+)/rev-raw/(.+)/(.+)$ /raw.php?id=$1&rev=$2&file=$3; + rewrite ^/([0-9]+)/rev-raw/([^/]+)/(.+)$ /raw.php?id=$1&rev=$2&file=$3; rewrite ^/([0-9]+)/tool/([^/]+)/(.+)$ /tool.php?id=$1&tool=$2&file=$3; rewrite ^/fork-remote$ /fork-remote.php; @@ -414,7 +414,7 @@ Lighttpd rewrites "^/([0-9]+)/fork$" => "/fork.php?id=$1", "^/([0-9]+)/raw/(.+)$" => "/raw.php?id=$1&file=$2", "^/([0-9]+)/rev/(.+)$" => "/revision.php?id=$1&rev=$2", - "^/([0-9]+)/rev-raw/(.+)/(.+)$" => "/raw.php?id=$1&rev=$2&file=$3", + "^/([0-9]+)/rev-raw/([^/]+)/(.+)$" => "/raw.php?id=$1&rev=$2&file=$3", "^/([0-9]+)/tool/([^/]+)/(.+)$" => "/tool.php?id=$1&tool=$2&file=$3", "^/fork-remote$" => "/fork-remote.php", diff --git a/www/.htaccess b/www/.htaccess index c08ec82..8afcbf7 100644 --- a/www/.htaccess +++ b/www/.htaccess @@ -18,7 +18,7 @@ RewriteRule ^([0-9]+)/fork$ fork.php?id=$1 RewriteRule ^([0-9]+)/linkback$ linkback.php?id=$1 RewriteRule ^([0-9]+)/raw/(.+)$ raw.php?id=$1&file=$2 [B] RewriteRule ^([0-9]+)/rev/(.+)$ revision.php?id=$1&rev=$2 [B] -RewriteRule ^([0-9]+)/rev-raw/(.+)/(.+)$ raw.php?id=$1&rev=$2&file=$3 [B] +RewriteRule ^([0-9]+)/rev-raw/([^/]+)/(.+)$ raw.php?id=$1&rev=$2&file=$3 [B] RewriteRule ^([0-9]+)/tool/([^/]+)/(.+)$ tool.php?id=$1&tool=$2&file=$3 [B] RewriteRule ^fork-remote$ fork-remote.php