From: Daniel Barkalow Date: Wed, 21 Sep 2005 15:55:09 GMT Subject: Re: [PATCH] Make object creation in http fetch a bit safer. Message-ID: In-Reply-To: <7vd5n2ycbe.fsf@assigned-by-dhcp.cox.net> On Wed, 21 Sep 2005, Junio C Hamano wrote: > Unlike write_sha1_file() that tries to create the object file in a > temporary location and then move it to the final location, fetch_object > could have been interrupted in the middle, leaving a corrupt file. Looks fine to me, although it should possibly share the code somehow with write_sha1_file(). > I think the packfile side is safer -- the index is verified > with the call to parse_pack_index() which eventually calls > check_packed_git_idx() to validate it, and the pack file is > checked when it is first used, just like any pack file we > originally had. Ideally, we should validate the pair after > downloading with git-verify-pack, though. Well, with verify_pack(), anyway. No need to prepare a command line, fork, exec, and parse it, just to call a library function. I think we want to have the partial file in the destination location, and maybe teach http-fetch about resuming the download, since it takes significant time to download a single pack, and it would be nice to be able to use the part we've got if we get interrupted. -Daniel *This .sig left intentionally blank*