On Mon, Dec 17, 2007 at 11:55:41AM +0100, Sebastian Harl wrote: > I was just trying to clone a repository using http but missed to run > git-update-server-info on the server side. git-clone aborted with the > following error messages: > > % git clone http://some/repo.git > Initialized empty Git repository in /path/repo/.git/ > cat: /path/repo/.git/refs/remotes/origin/master: No such file or directory > cd: 482: can't cd to /path/repo/.git/refs/remotes/origin > fatal: : not a valid SHA1 > fatal: Not a valid object name HEAD > > It's kind of hard to guess where the error comes from in this case (I blamed > Git at first). Is there some way to improve the error message in a case like > this? git-clone is supposed to detect this condition, but there was a bug in the error checking code. Can you confirm that this patch fixes it? Gerrit, I think was caused by your f28dd477 (it is a funny shell interaction that the non-followed case branch resets $?, but it behaves the same with bash and dash). -- >8 -- clone: correctly report http_fetch errors The exit status from curl was accidentally lost by the 'case' statement. We need to explicitly save it so that $? doesn't get overwritten. This improves the error message when fetching from an http repository which has never had update-server-info run. Previously, it would fail to note the fetch error and produce multiple errors about the lack of origin branches. It now correctly suggests running git-update-server-info. Signed-off-by: Jeff King <peff@xxxxxxxx> --- git-clone.sh | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/git-clone.sh b/git-clone.sh index 68085a3..9a160ee 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -56,11 +56,12 @@ fi http_fetch () { # $1 = Remote, $2 = Local - curl -nsfL $curl_extra_args "$1" >"$2" || - case $? in - 126|127) exit ;; - *) return $? ;; - esac + curl -nsfL $curl_extra_args "$1" >"$2" + curl_exit_status=$? + case $curl_exit_status in + 126|127) exit ;; + *) return $curl_exit_status ;; + esac } clone_dumb_http () { -- 1.5.4.rc0.1145.gef733-dirty - 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