Revision 3680f16f9d6832dc78c6b80f1e8a546385d946f9 authored by Jeff King on 06 December 2016, 18:25:39 UTC, committed by Junio C Hamano on 06 December 2016, 20:43:34 UTC
Since commit 17966c0a6 (http: avoid disconnecting on 404s for loose objects, 2016-07-11), we turn off curl's FAILONERROR option and instead manually deal with failing HTTP codes. However, the logic to do so only recognizes HTTP 404 as a failure. This is probably the most common result, but if we were to get another code, the curl result remains CURLE_OK, and we treat it as success. We still end up detecting the failure when we try to zlib-inflate the object (which will fail), but instead of reporting the HTTP error, we just claim that the object is corrupt. Instead, let's catch anything in the 300's or above as an error (300's are redirects which are not an error at the HTTP level, but are an indication that we've explicitly disabled redirects, so we should treat them as such; we certainly don't have the resulting object content). Note that we also fill in req->errorstr, which we didn't do before. Without FAILONERROR, curl will not have filled this in, and it will remain a blank string. This never mattered for the 404 case, because in the logic below we hit the "missing_target()" branch and print nothing. But for other errors, we'd want to say _something_, if only to fill in the blank slot in the error message. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 43ec089
File | Mode | Size |
---|---|---|
Documentation | ||
block-sha1 | ||
builtin | ||
ci | ||
compat | ||
contrib | ||
ewah | ||
git-gui | ||
gitk-git | ||
gitweb | ||
mergetools | ||
perl | ||
po | ||
ppc | ||
refs | ||
t | ||
templates | ||
vcs-svn | ||
xdiff | ||
.gitattributes | -rw-r--r-- | 114 bytes |
.gitignore | -rw-r--r-- | 3.1 KB |
.mailmap | -rw-r--r-- | 14.0 KB |
.travis.yml | -rw-r--r-- | 3.5 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 762 bytes |
INSTALL | -rw-r--r-- | 8.9 KB |
LGPL-2.1 | -rw-r--r-- | 26.2 KB |
Makefile | -rw-r--r-- | 75.8 KB |
README.md | -rw-r--r-- | 2.9 KB |
RelNotes | l--------- | 32 bytes |
abspath.c | -rw-r--r-- | 4.4 KB |
aclocal.m4 | -rw-r--r-- | 1.4 KB |
advice.c | -rw-r--r-- | 3.5 KB |
advice.h | -rw-r--r-- | 967 bytes |
alias.c | -rw-r--r-- | 1.5 KB |
alloc.c | -rw-r--r-- | 2.6 KB |
archive-tar.c | -rw-r--r-- | 11.3 KB |
archive-zip.c | -rw-r--r-- | 15.2 KB |
archive.c | -rw-r--r-- | 14.7 KB |
archive.h | -rw-r--r-- | 1.3 KB |
argv-array.c | -rw-r--r-- | 1.7 KB |
argv-array.h | -rw-r--r-- | 689 bytes |
attr.c | -rw-r--r-- | 19.8 KB |
attr.h | -rw-r--r-- | 1.6 KB |
base85.c | -rw-r--r-- | 2.8 KB |
bisect.c | -rw-r--r-- | 24.8 KB |
bisect.h | -rw-r--r-- | 713 bytes |
blob.c | -rw-r--r-- | 389 bytes |
blob.h | -rw-r--r-- | 664 bytes |
branch.c | -rw-r--r-- | 9.3 KB |
branch.h | -rw-r--r-- | 2.5 KB |
builtin.h | -rw-r--r-- | 9.0 KB |
bulk-checkin.c | -rw-r--r-- | 7.1 KB |
bulk-checkin.h | -rw-r--r-- | 323 bytes |
bundle.c | -rw-r--r-- | 12.3 KB |
bundle.h | -rw-r--r-- | 707 bytes |
cache-tree.c | -rw-r--r-- | 17.4 KB |
cache-tree.h | -rw-r--r-- | 1.6 KB |
cache.h | -rw-r--r-- | 65.6 KB |
check-builtins.sh | -rwxr-xr-x | 596 bytes |
check-racy.c | -rw-r--r-- | 523 bytes |
check_bindir | -rwxr-xr-x | 374 bytes |
color.c | -rw-r--r-- | 8.1 KB |
color.h | -rw-r--r-- | 3.1 KB |
column.c | -rw-r--r-- | 9.7 KB |
column.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 40.2 KB |
command-list.txt | -rw-r--r-- | 8.9 KB |
commit-slab.h | -rw-r--r-- | 4.8 KB |
commit.c | -rw-r--r-- | 41.0 KB |
commit.h | -rw-r--r-- | 13.3 KB |
common-main.c | -rw-r--r-- | 1.1 KB |
config.c | -rw-r--r-- | 57.3 KB |
config.mak.in | -rw-r--r-- | 540 bytes |
config.mak.uname | -rw-r--r-- | 16.6 KB |
configure.ac | -rw-r--r-- | 35.1 KB |
connect.c | -rw-r--r-- | 19.6 KB |
connect.h | -rw-r--r-- | 676 bytes |
connected.c | -rw-r--r-- | 3.2 KB |
connected.h | -rw-r--r-- | 930 bytes |
convert.c | -rw-r--r-- | 32.2 KB |
convert.h | -rw-r--r-- | 2.6 KB |
copy.c | -rw-r--r-- | 1.3 KB |
credential-cache--daemon.c | -rw-r--r-- | 6.9 KB |
credential-cache.c | -rw-r--r-- | 2.9 KB |
credential-store.c | -rw-r--r-- | 5.0 KB |
credential.c | -rw-r--r-- | 7.8 KB |
credential.h | -rw-r--r-- | 833 bytes |
csum-file.c | -rw-r--r-- | 4.0 KB |
csum-file.h | -rw-r--r-- | 1.3 KB |
ctype.c | -rw-r--r-- | 2.6 KB |
daemon.c | -rw-r--r-- | 31.7 KB |
date.c | -rw-r--r-- | 27.1 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 400 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 15.4 KB |
diff-lib.c | -rw-r--r-- | 14.1 KB |
diff-no-index.c | -rw-r--r-- | 6.9 KB |
diff.c | -rw-r--r-- | 138.7 KB |
diff.h | -rw-r--r-- | 12.5 KB |
diffcore-break.c | -rw-r--r-- | 9.0 KB |
diffcore-delta.c | -rw-r--r-- | 5.4 KB |
diffcore-order.c | -rw-r--r-- | 2.4 KB |
diffcore-pickaxe.c | -rw-r--r-- | 6.1 KB |
diffcore-rename.c | -rw-r--r-- | 17.7 KB |
diffcore.h | -rw-r--r-- | 4.8 KB |
dir.c | -rw-r--r-- | 69.7 KB |
dir.h | -rw-r--r-- | 9.7 KB |
editor.c | -rw-r--r-- | 1.5 KB |
entry.c | -rw-r--r-- | 7.3 KB |
environment.c | -rw-r--r-- | 9.2 KB |
exec_cmd.c | -rw-r--r-- | 3.0 KB |
exec_cmd.h | -rw-r--r-- | 547 bytes |
fast-import.c | -rw-r--r-- | 88.0 KB |
fetch-pack.c | -rw-r--r-- | 26.7 KB |
fetch-pack.h | -rw-r--r-- | 1.0 KB |
fmt-merge-msg.h | -rw-r--r-- | 187 bytes |
fsck.c | -rw-r--r-- | 21.6 KB |
fsck.h | -rw-r--r-- | 1.7 KB |
generate-cmdlist.sh | -rwxr-xr-x | 929 bytes |
gettext.c | -rw-r--r-- | 5.1 KB |
gettext.h | -rw-r--r-- | 2.2 KB |
git-add--interactive.perl | -rwxr-xr-x | 36.6 KB |
git-archimport.perl | -rwxr-xr-x | 36.0 KB |
git-bisect.sh | -rwxr-xr-x | 15.6 KB |
git-compat-util.h | -rw-r--r-- | 27.1 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.6 KB |
git-cvsimport.perl | -rwxr-xr-x | 31.3 KB |
git-cvsserver.perl | -rwxr-xr-x | 158.5 KB |
git-difftool--helper.sh | -rwxr-xr-x | 2.2 KB |
git-difftool.perl | -rwxr-xr-x | 12.2 KB |
git-filter-branch.sh | -rwxr-xr-x | 12.5 KB |
git-instaweb.sh | -rwxr-xr-x | 18.1 KB |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.6 KB |
git-merge-resolve.sh | -rwxr-xr-x | 944 bytes |
git-mergetool--lib.sh | -rw-r--r-- | 7.8 KB |
git-mergetool.sh | -rwxr-xr-x | 9.5 KB |
git-p4.py | -rwxr-xr-x | 136.2 KB |
git-parse-remote.sh | -rw-r--r-- | 2.6 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.5 KB |
git-rebase--am.sh | -rw-r--r-- | 2.4 KB |
git-rebase--interactive.sh | -rw-r--r-- | 33.4 KB |
git-rebase--merge.sh | -rw-r--r-- | 3.8 KB |
git-rebase.sh | -rwxr-xr-x | 15.7 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-remote-testgit.sh | -rwxr-xr-x | 2.9 KB |
git-request-pull.sh | -rwxr-xr-x | 3.8 KB |
git-send-email.perl | -rwxr-xr-x | 48.4 KB |
git-sh-i18n.sh | -rw-r--r-- | 2.0 KB |
git-sh-setup.sh | -rw-r--r-- | 8.2 KB |
git-stash.sh | -rwxr-xr-x | 13.8 KB |
git-submodule.sh | -rwxr-xr-x | 26.5 KB |
git-svn.perl | -rwxr-xr-x | 62.4 KB |
git-web--browse.sh | -rwxr-xr-x | 4.3 KB |
git.c | -rw-r--r-- | 18.9 KB |
git.rc | -rw-r--r-- | 566 bytes |
gpg-interface.c | -rw-r--r-- | 6.5 KB |
gpg-interface.h | -rw-r--r-- | 1.2 KB |
graph.c | -rw-r--r-- | 34.5 KB |
graph.h | -rw-r--r-- | 4.0 KB |
grep.c | -rw-r--r-- | 43.5 KB |
grep.h | -rw-r--r-- | 4.7 KB |
hashmap.c | -rw-r--r-- | 6.3 KB |
hashmap.h | -rw-r--r-- | 2.5 KB |
help.c | -rw-r--r-- | 11.7 KB |
help.h | -rw-r--r-- | 1.1 KB |
hex.c | -rw-r--r-- | 2.6 KB |
http-backend.c | -rw-r--r-- | 15.7 KB |
http-fetch.c | -rw-r--r-- | 2.2 KB |
http-push.c | -rw-r--r-- | 49.7 KB |
http-walker.c | -rw-r--r-- | 14.0 KB |
http.c | -rw-r--r-- | 53.4 KB |
http.h | -rw-r--r-- | 6.4 KB |
ident.c | -rw-r--r-- | 12.1 KB |
imap-send.c | -rw-r--r-- | 35.7 KB |
khash.h | -rw-r--r-- | 12.6 KB |
kwset.c | -rw-r--r-- | 20.5 KB |
kwset.h | -rw-r--r-- | 2.6 KB |
levenshtein.c | -rw-r--r-- | 2.5 KB |
levenshtein.h | -rw-r--r-- | 203 bytes |
line-log.c | -rw-r--r-- | 30.5 KB |
line-log.h | -rw-r--r-- | 1.8 KB |
line-range.c | -rw-r--r-- | 6.5 KB |
line-range.h | -rw-r--r-- | 1.3 KB |
list-objects.c | -rw-r--r-- | 6.0 KB |
list-objects.h | -rw-r--r-- | 381 bytes |
list.h | -rw-r--r-- | 4.6 KB |
ll-merge.c | -rw-r--r-- | 10.6 KB |
ll-merge.h | -rw-r--r-- | 567 bytes |
lockfile.c | -rw-r--r-- | 5.4 KB |
lockfile.h | -rw-r--r-- | 10.2 KB |
log-tree.c | -rw-r--r-- | 24.4 KB |
log-tree.h | -rw-r--r-- | 1.2 KB |
mailinfo.c | -rw-r--r-- | 23.4 KB |
mailinfo.h | -rw-r--r-- | 955 bytes |
mailmap.c | -rw-r--r-- | 8.9 KB |
mailmap.h | -rw-r--r-- | 271 bytes |
match-trees.c | -rw-r--r-- | 8.1 KB |
merge-blobs.c | -rw-r--r-- | 1.9 KB |
merge-blobs.h | -rw-r--r-- | 194 bytes |
merge-recursive.c | -rw-r--r-- | 58.1 KB |
merge-recursive.h | -rw-r--r-- | 1.6 KB |
merge.c | -rw-r--r-- | 2.4 KB |
mergesort.c | -rw-r--r-- | 1.5 KB |
mergesort.h | -rw-r--r-- | 574 bytes |
name-hash.c | -rw-r--r-- | 5.9 KB |
notes-cache.c | -rw-r--r-- | 2.2 KB |
notes-cache.h | -rw-r--r-- | 500 bytes |
notes-merge.c | -rw-r--r-- | 22.6 KB |
notes-merge.h | -rw-r--r-- | 2.8 KB |
notes-utils.c | -rw-r--r-- | 4.9 KB |
notes-utils.h | -rw-r--r-- | 1.4 KB |
notes.c | -rw-r--r-- | 36.6 KB |
notes.h | -rw-r--r-- | 11.7 KB |
object.c | -rw-r--r-- | 9.6 KB |
object.h | -rw-r--r-- | 4.5 KB |
pack-bitmap-write.c | -rw-r--r-- | 12.3 KB |
pack-bitmap.c | -rw-r--r-- | 24.9 KB |
pack-bitmap.h | -rw-r--r-- | 1.7 KB |
pack-check.c | -rw-r--r-- | 5.4 KB |
pack-objects.c | -rw-r--r-- | 2.1 KB |
pack-objects.h | -rw-r--r-- | 1.9 KB |
pack-revindex.c | -rw-r--r-- | 5.7 KB |
pack-revindex.h | -rw-r--r-- | 323 bytes |
pack-write.c | -rw-r--r-- | 10.3 KB |
pack.h | -rw-r--r-- | 3.2 KB |
pager.c | -rw-r--r-- | 3.6 KB |
parse-options-cb.c | -rw-r--r-- | 4.9 KB |
parse-options.c | -rw-r--r-- | 17.4 KB |
parse-options.h | -rw-r--r-- | 9.8 KB |
patch-delta.c | -rw-r--r-- | 2.2 KB |
patch-ids.c | -rw-r--r-- | 2.4 KB |
patch-ids.h | -rw-r--r-- | 591 bytes |
path.c | -rw-r--r-- | 29.4 KB |
pathspec.c | -rw-r--r-- | 14.1 KB |
pathspec.h | -rw-r--r-- | 3.2 KB |
pkt-line.c | -rw-r--r-- | 5.4 KB |
pkt-line.h | -rw-r--r-- | 3.0 KB |
preload-index.c | -rw-r--r-- | 2.5 KB |
pretty.c | -rw-r--r-- | 44.4 KB |
prio-queue.c | -rw-r--r-- | 1.9 KB |
prio-queue.h | -rw-r--r-- | 1.5 KB |
progress.c | -rw-r--r-- | 6.3 KB |
progress.h | -rw-r--r-- | 504 bytes |
prompt.c | -rw-r--r-- | 1.4 KB |
prompt.h | -rw-r--r-- | 168 bytes |
quote.c | -rw-r--r-- | 10.6 KB |
quote.h | -rw-r--r-- | 2.8 KB |
reachable.c | -rw-r--r-- | 4.8 KB |
reachable.h | -rw-r--r-- | 304 bytes |
read-cache.c | -rw-r--r-- | 61.7 KB |
ref-filter.c | -rw-r--r-- | 44.3 KB |
ref-filter.h | -rw-r--r-- | 3.3 KB |
reflog-walk.c | -rw-r--r-- | 8.5 KB |
reflog-walk.h | -rw-r--r-- | 792 bytes |
refs.c | -rw-r--r-- | 29.3 KB |
refs.h | -rw-r--r-- | 19.7 KB |
remote-curl.c | -rw-r--r-- | 25.8 KB |
remote-testsvn.c | -rw-r--r-- | 8.3 KB |
remote.c | -rw-r--r-- | 58.5 KB |
remote.h | -rw-r--r-- | 8.0 KB |
replace_object.c | -rw-r--r-- | 3.0 KB |
rerere.c | -rw-r--r-- | 30.9 KB |
rerere.h | -rw-r--r-- | 1.2 KB |
resolve-undo.c | -rw-r--r-- | 4.3 KB |
resolve-undo.h | -rw-r--r-- | 612 bytes |
revision.c | -rw-r--r-- | 91.1 KB |
revision.h | -rw-r--r-- | 7.8 KB |
run-command.c | -rw-r--r-- | 25.6 KB |
run-command.h | -rw-r--r-- | 7.0 KB |
send-pack.c | -rw-r--r-- | 14.0 KB |
send-pack.h | -rw-r--r-- | 774 bytes |
sequencer.c | -rw-r--r-- | 31.7 KB |
sequencer.h | -rw-r--r-- | 1.1 KB |
server-info.c | -rw-r--r-- | 5.7 KB |
setup.c | -rw-r--r-- | 27.4 KB |
sh-i18n--envsubst.c | -rw-r--r-- | 10.3 KB |
sha1-array.c | -rw-r--r-- | 1.2 KB |
sha1-array.h | -rw-r--r-- | 583 bytes |
sha1-lookup.c | -rw-r--r-- | 9.2 KB |
sha1-lookup.h | -rw-r--r-- | 403 bytes |
sha1_file.c | -rw-r--r-- | 90.7 KB |
sha1_name.c | -rw-r--r-- | 36.7 KB |
shallow.c | -rw-r--r-- | 17.2 KB |
shell.c | -rw-r--r-- | 4.8 KB |
shortlog.h | -rw-r--r-- | 463 bytes |
show-index.c | -rw-r--r-- | 2.2 KB |
sideband.c | -rw-r--r-- | 3.1 KB |
sideband.h | -rw-r--r-- | 259 bytes |
sigchain.c | -rw-r--r-- | 1.1 KB |
sigchain.h | -rw-r--r-- | 247 bytes |
split-index.c | -rw-r--r-- | 9.0 KB |
split-index.h | -rw-r--r-- | 1.1 KB |
strbuf.c | -rw-r--r-- | 18.2 KB |
strbuf.h | -rw-r--r-- | 19.1 KB |
streaming.c | -rw-r--r-- | 11.8 KB |
streaming.h | -rw-r--r-- | 504 bytes |
string-list.c | -rw-r--r-- | 7.3 KB |
string-list.h | -rw-r--r-- | 5.1 KB |
submodule-config.c | -rw-r--r-- | 13.2 KB |
submodule-config.h | -rw-r--r-- | 980 bytes |
submodule.c | -rw-r--r-- | 31.9 KB |
submodule.h | -rw-r--r-- | 2.7 KB |
symlinks.c | -rw-r--r-- | 9.3 KB |
tag.c | -rw-r--r-- | 4.4 KB |
tag.h | -rw-r--r-- | 608 bytes |
tar.h | -rw-r--r-- | 644 bytes |
tempfile.c | -rw-r--r-- | 8.2 KB |
tempfile.h | -rw-r--r-- | 9.5 KB |
thread-utils.c | -rw-r--r-- | 1.7 KB |
thread-utils.h | -rw-r--r-- | 241 bytes |
trace.c | -rw-r--r-- | 10.4 KB |
trace.h | -rw-r--r-- | 3.6 KB |
trailer.c | -rw-r--r-- | 22.6 KB |
trailer.h | -rw-r--r-- | 170 bytes |
transport-helper.c | -rw-r--r-- | 35.0 KB |
transport.c | -rw-r--r-- | 28.8 KB |
transport.h | -rw-r--r-- | 7.6 KB |
tree-diff.c | -rw-r--r-- | 17.9 KB |
tree-walk.c | -rw-r--r-- | 26.7 KB |
tree-walk.h | -rw-r--r-- | 2.8 KB |
tree.c | -rw-r--r-- | 6.2 KB |
tree.h | -rw-r--r-- | 1.0 KB |
unicode_width.h | -rw-r--r-- | 6.6 KB |
unimplemented.sh | -rw-r--r-- | 101 bytes |
unix-socket.c | -rw-r--r-- | 2.4 KB |
unix-socket.h | -rw-r--r-- | 158 bytes |
unpack-trees.c | -rw-r--r-- | 51.4 KB |
unpack-trees.h | -rw-r--r-- | 2.2 KB |
update_unicode.sh | -rwxr-xr-x | 1.0 KB |
upload-pack.c | -rw-r--r-- | 21.3 KB |
url.c | -rw-r--r-- | 2.7 KB |
url.h | -rw-r--r-- | 492 bytes |
urlmatch.c | -rw-r--r-- | 16.5 KB |
urlmatch.h | -rw-r--r-- | 1.9 KB |
usage.c | -rw-r--r-- | 3.7 KB |
userdiff.c | -rw-r--r-- | 9.2 KB |
userdiff.h | -rw-r--r-- | 780 bytes |
utf8.c | -rw-r--r-- | 15.9 KB |
utf8.h | -rw-r--r-- | 2.2 KB |
varint.c | -rw-r--r-- | 660 bytes |
varint.h | -rw-r--r-- | 168 bytes |
version.c | -rw-r--r-- | 651 bytes |
version.h | -rw-r--r-- | 180 bytes |
versioncmp.c | -rw-r--r-- | 3.4 KB |
walker.c | -rw-r--r-- | 7.3 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wildmatch.c | -rw-r--r-- | 7.8 KB |
wildmatch.h | -rw-r--r-- | 346 bytes |
worktree.c | -rw-r--r-- | 7.4 KB |
worktree.h | -rw-r--r-- | 1.6 KB |
wrap-for-bin.sh | -rw-r--r-- | 819 bytes |
wrapper.c | -rw-r--r-- | 15.0 KB |
write_or_die.c | -rw-r--r-- | 2.0 KB |
ws.c | -rw-r--r-- | 9.6 KB |
wt-status.c | -rw-r--r-- | 47.7 KB |
wt-status.h | -rw-r--r-- | 2.9 KB |
xdiff-interface.c | -rw-r--r-- | 7.1 KB |
xdiff-interface.h | -rw-r--r-- | 1.1 KB |
zlib.c | -rw-r--r-- | 6.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...