Update partial HTTP transfers.

Add the sanity checks discussed on the list with Nick Hengeveld in
<20050927000931.GA15615@reactrix.com>.

 * unlink of previous and rename from temp to previous can fail for
   reasons other than benign ones (missing previous and missing temp).
   Report these failures when we encounter them, to make diagnosing
   problems easier.

 * when rewinding the partially written result, make sure to
   truncate the file.

Also verify the pack after downloading by calling
verify_packfile().

Signed-off-by: Junio C Hamano <junkio@cox.net>
1 file changed
tree: 32a6dc8ad6c68ed1d1a6f9b16a4c4971635a757c
  1. arm/
  2. compat/
  3. debian/
  4. Documentation/
  5. mozilla-sha1/
  6. ppc/
  7. t/
  8. templates/
  9. .gitignore
  10. apply.c
  11. blob.c
  12. blob.h
  13. cache.h
  14. cat-file.c
  15. checkout-index.c
  16. clone-pack.c
  17. cmd-rename.sh
  18. commit-tree.c
  19. commit.c
  20. commit.h
  21. connect.c
  22. convert-objects.c
  23. COPYING
  24. count-delta.c
  25. count-delta.h
  26. csum-file.c
  27. csum-file.h
  28. daemon.c
  29. date.c
  30. delta.h
  31. diff-delta.c
  32. diff-files.c
  33. diff-index.c
  34. diff-stages.c
  35. diff-tree.c
  36. diff.c
  37. diff.h
  38. diffcore-break.c
  39. diffcore-order.c
  40. diffcore-pathspec.c
  41. diffcore-pickaxe.c
  42. diffcore-rename.c
  43. diffcore.h
  44. entry.c
  45. epoch.c
  46. epoch.h
  47. fetch-pack.c
  48. fetch.c
  49. fetch.h
  50. fsck-objects.c
  51. get-tar-commit-id.c
  52. git-add.sh
  53. git-applymbox.sh
  54. git-applypatch.sh
  55. git-archimport.perl
  56. git-bisect.sh
  57. git-branch.sh
  58. git-checkout.sh
  59. git-cherry.sh
  60. git-clone.sh
  61. git-commit.sh
  62. git-core.spec.in
  63. git-count-objects.sh
  64. git-cvsimport.perl
  65. git-diff.sh
  66. git-external-diff-script
  67. git-fetch.sh
  68. git-fmt-merge-msg.perl
  69. git-format-patch.sh
  70. git-grep.sh
  71. git-log.sh
  72. git-ls-remote.sh
  73. git-merge-octopus.sh
  74. git-merge-one-file.sh
  75. git-merge-recursive.py
  76. git-merge-resolve.sh
  77. git-merge-stupid.sh
  78. git-merge.sh
  79. git-octopus.sh
  80. git-parse-remote.sh
  81. git-prune.sh
  82. git-pull.sh
  83. git-push.sh
  84. git-rebase.sh
  85. git-relink.perl
  86. git-rename.perl
  87. git-repack.sh
  88. git-request-pull.sh
  89. git-reset.sh
  90. git-resolve.sh
  91. git-revert.sh
  92. git-send-email.perl
  93. git-sh-setup.sh
  94. git-shortlog.perl
  95. git-status.sh
  96. git-tag.sh
  97. git-verify-tag.sh
  98. git-whatchanged.sh
  99. git.sh
  100. gitk
  101. gitMergeCommon.py
  102. hash-object.c
  103. http-fetch.c
  104. ident.c
  105. index.c
  106. init-db.c
  107. INSTALL
  108. local-fetch.c
  109. ls-files.c
  110. ls-tree.c
  111. mailinfo.c
  112. mailsplit.c
  113. Makefile
  114. merge-base.c
  115. merge-index.c
  116. mktag.c
  117. object.c
  118. object.h
  119. pack-check.c
  120. pack-objects.c
  121. pack.h
  122. patch-delta.c
  123. patch-id.c
  124. path.c
  125. peek-remote.c
  126. pkt-line.c
  127. pkt-line.h
  128. prune-packed.c
  129. quote.c
  130. quote.h
  131. read-cache.c
  132. read-tree.c
  133. README
  134. receive-pack.c
  135. refs.c
  136. refs.h
  137. rev-list.c
  138. rev-parse.c
  139. rsh.c
  140. rsh.h
  141. run-command.c
  142. run-command.h
  143. send-pack.c
  144. server-info.c
  145. setup.c
  146. sha1_file.c
  147. sha1_name.c
  148. show-branch.c
  149. show-index.c
  150. ssh-fetch.c
  151. ssh-pull.c
  152. ssh-push.c
  153. ssh-upload.c
  154. strbuf.c
  155. strbuf.h
  156. stripspace.c
  157. tag.c
  158. tag.h
  159. tar-tree.c
  160. test-date.c
  161. test-delta.c
  162. tree.c
  163. tree.h
  164. unpack-file.c
  165. unpack-objects.c
  166. update-index.c
  167. update-ref.c
  168. update-server-info.c
  169. upload-pack.c
  170. usage.c
  171. var.c
  172. verify-pack.c
  173. write-tree.c