diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2010-04-19 07:23:08 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-04-19 17:56:17 -0700 |
commit | 7b64469a363c10e9e875a73d32a220ba48694a28 (patch) | |
tree | 66c7dccc1f4366b74c592ce27fa45cb1e51be702 /sha1_file.c | |
parent | 9b0aa728705439ca4b4e7ec845f79f8487059320 (diff) | |
download | git-7b64469a363c10e9e875a73d32a220ba48694a28.tar.gz |
Allow parse_pack_index on temporary files
The easiest way to verify a pack index is to open it through the
standard parse_pack_index function, permitting the header check
to happen when the file is mapped. However, the dumb HTTP client
needs to verify a pack index before its moved into its proper file
name within the objects/pack directory, to prevent a corrupt index
from being made available. So permit the caller to specify the
exact path of the index file.
For now we're still using the final destination name within the
sole call site in http.c, but eventually we will start to parse
the temporary path instead.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_file.c')
-rw-r--r-- | sha1_file.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sha1_file.c b/sha1_file.c index 4e82654d7c..9f3f514e71 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -845,9 +845,8 @@ struct packed_git *add_packed_git(const char *path, int path_len, int local) return p; } -struct packed_git *parse_pack_index(unsigned char *sha1) +struct packed_git *parse_pack_index(unsigned char *sha1, const char *idx_path) { - const char *idx_path = sha1_pack_index_name(sha1); const char *path = sha1_pack_name(sha1); struct packed_git *p = alloc_packed_git(strlen(path) + 1); |