When clone a gitweb URL, git reports "Can't lock ref", it's not clear for users, this patch adds clear error message for this case. diff --git a/fetch.c b/fetch.c index c426c04..40c5183 100644 --- a/fetch.c +++ b/fetch.c @@ -266,6 +266,14 @@ int pull(int targets, char **target, con if (!write_ref || !write_ref[i]) continue; + if (*write_ref[i] == '\0') { + if (strncmp(write_ref_log_details, "http", 4) == 0) + error("Can't feed empty ref, seems you are fetching from a gitweb URL, " + "check it in web browser for git URL."); + else + error("Can't feed empty ref"); + goto unlock_and_fail; + } lock[i] = lock_ref_sha1(write_ref[i], NULL); if (!lock[i]) { error("Can't lock ref %s", write_ref[i]); diff --git a/git-clone.sh b/git-clone.sh index 3f006d1..c8274e0 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -55,6 +55,10 @@ Perhaps git-update-server-info needs to else tname=$name fi + if [ -z "$tname" -o -z "$name" ]; then + die "Cannot feed empty ref or commit-id, seems you are fetching +from a gitweb URL, check it in web browser for git URL." + fi git-http-fetch -v -a -w "$tname" "$name" "$1/" || exit 1 done <"$clone_tmp/refs" rm -fr "$clone_tmp" - 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