From: Jean Guyader <jean.guyader@xxxxxxxxx> Curl uses the option -u user:passwd and not the user:password given in the url. The solution was to extract user:password from the url and set the option. Here the regex used : sed -re 's-.*http://([^:]*):([^@]+)@.*-\1:\2-g' --- git-clone.sh | 3 ++- git-fetch.sh | 8 ++++---- git-ls-remote.sh | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/git-clone.sh b/git-clone.sh index 5e582fe..57206ac 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -34,7 +34,8 @@ fi http_fetch () { # $1 = Remote, $2 = Local - curl -nsfL $curl_extra_args "$1" >"$2" || + curl_userpw=`echo "$1" | sed -re 's-http://([^:]*):([^@]+)@.*-\1:\2-g'` + curl -u "$curl_userpw" -nsfL $curl_extra_args "$1" >"$2" || case $? in 126|127) exit ;; *) return $? ;; diff --git a/git-fetch.sh b/git-fetch.sh index e44af2c..0b7d055 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -268,13 +268,13 @@ fetch_per_ref () { "`git config --bool http.noEPSV`" = true ]; then noepsv_opt="--disable-epsv" fi - - # Find $remote_name from ls-remote output. + pretty_remote=$(echo "$remote" | sed -re 's-http://([^:]+):([^@]+)@-http://\1:******@-g') + # Find $remote_name from ls-remote output. head=$(echo "$ls_remote_result" | \ git fetch--tool -s pick-rref "$remote_name" "-") expr "z$head" : "z$_x40\$" >/dev/null || - die "No such ref $remote_name at $remote" - echo >&2 "Fetching $remote_name from $remote using $proto" + die "No such ref $remote_name at $pretty_remote" + echo >&2 "Fetching $remote_name from $pretty_remote using $proto" case "$quiet" in '') v=-v ;; *) v= ;; esac git-http-fetch $v -a "$head" "$remote" || exit ;; diff --git a/git-ls-remote.sh b/git-ls-remote.sh index d56cf92..d6e9906 100755 --- a/git-ls-remote.sh +++ b/git-ls-remote.sh @@ -61,7 +61,8 @@ http://* | https://* | ftp://* ) "`git config --bool http.noEPSV`" = true ]; then curl_extra_args="${curl_extra_args} --disable-epsv" fi - curl -nsf $curl_extra_args --header "Pragma: no-cache" "$peek_repo/info/refs" || + curl_userpw=`echo "$peek_repo" | sed -re 's-.*http://([^:]*):([^@]+)@.*-\1:\2-g'` + curl -u "$curl_userpw" -nsf $curl_extra_args --header "Pragma: no-cache" "$peek_repo/info/refs" || echo "failed slurping" ;; -- 1.5.2.4 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html