summaryrefslogtreecommitdiff
path: root/git-fetch.sh
diff options
context:
space:
mode:
authorSasha Khapyorsky <sashak@voltaire.com>2006-09-29 00:10:44 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-09-29 02:02:46 (GMT)
commit3ea099d48b15f69889f4efe71599c9dfde6bb26a (patch)
treea9ad5a1e8038a6ab2300876eae9e940752483792 /git-fetch.sh
parent77e565d8f76357781eb6236e031e8e0581de83a9 (diff)
downloadgit-3ea099d48b15f69889f4efe71599c9dfde6bb26a.zip
git-3ea099d48b15f69889f4efe71599c9dfde6bb26a.tar.gz
git-3ea099d48b15f69889f4efe71599c9dfde6bb26a.tar.bz2
http/ftp: optionally ask curl to not use EPSV command
If http.noEPSV config variable is defined and true, or if GIT_CURL_FTP_NO_EPSV environment variable is defined, disable using of EPSV ftp command (PASV will be used instead). This is helpful with some "poor" ftp servers which does not support EPSV mode. Signed-off-by: Sasha Khapyorsky <sashak@voltaire.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-fetch.sh')
-rwxr-xr-xgit-fetch.sh6
1 files changed, 5 insertions, 1 deletions
diff --git a/git-fetch.sh b/git-fetch.sh
index 50ad101..bcc67ab 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -289,6 +289,10 @@ fetch_main () {
if [ -n "$GIT_SSL_NO_VERIFY" ]; then
curl_extra_args="-k"
fi
+ if [ -n "$GIT_CURL_FTP_NO_EPSV" -o \
+ "`git-repo-config --bool http.noEPSV`" = true ]; then
+ noepsv_opt="--disable-epsv"
+ fi
max_depth=5
depth=0
head="ref: $remote_name"
@@ -300,7 +304,7 @@ fetch_main () {
$u =~ s{([^-a-zA-Z0-9/.])}{sprintf"%%%02x",ord($1)}eg;
print "$u";
' "$head")
- head=$(curl -nsfL $curl_extra_args "$remote/$remote_name_quoted")
+ head=$(curl -nsfL $curl_extra_args $noepsv_opt "$remote/$remote_name_quoted")
depth=$( expr \( $depth + 1 \) )
done
expr "z$head" : "z$_x40\$" >/dev/null ||