[PATCH] Add function to read an index file from an arbitrary filename.
Note that the pack file has to be in the usual location if it gets installed later. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
b092133103
commit
c508df5edf
2
cache.h
2
cache.h
@ -319,6 +319,8 @@ extern int get_ack(int fd, unsigned char *result_sha1);
|
|||||||
extern struct ref **get_remote_heads(int in, struct ref **list, int nr_match, char **match);
|
extern struct ref **get_remote_heads(int in, struct ref **list, int nr_match, char **match);
|
||||||
|
|
||||||
extern struct packed_git *parse_pack_index(unsigned char *sha1);
|
extern struct packed_git *parse_pack_index(unsigned char *sha1);
|
||||||
|
extern struct packed_git *parse_pack_index_file(unsigned char *sha1,
|
||||||
|
char *idx_path);
|
||||||
|
|
||||||
extern void prepare_packed_git(void);
|
extern void prepare_packed_git(void);
|
||||||
extern void install_packed_git(struct packed_git *pack);
|
extern void install_packed_git(struct packed_git *pack);
|
||||||
|
10
sha1_file.c
10
sha1_file.c
@ -475,13 +475,19 @@ struct packed_git *add_packed_git(char *path, int path_len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct packed_git *parse_pack_index(unsigned char *sha1)
|
struct packed_git *parse_pack_index(unsigned char *sha1)
|
||||||
|
{
|
||||||
|
char *path = sha1_pack_index_name(sha1);
|
||||||
|
return parse_pack_index_file(sha1, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct packed_git *parse_pack_index_file(unsigned char *sha1, char *idx_path)
|
||||||
{
|
{
|
||||||
struct packed_git *p;
|
struct packed_git *p;
|
||||||
unsigned long idx_size;
|
unsigned long idx_size;
|
||||||
void *idx_map;
|
void *idx_map;
|
||||||
char *path = sha1_pack_index_name(sha1);
|
char *path;
|
||||||
|
|
||||||
if (check_packed_git_idx(path, &idx_size, &idx_map))
|
if (check_packed_git_idx(idx_path, &idx_size, &idx_map))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
path = sha1_pack_name(sha1);
|
path = sha1_pack_name(sha1);
|
||||||
|
Reference in New Issue
Block a user