sha1_file: allow sha1_file_name to handle arbitrary repositories

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-03-23 18:21:16 +01:00 committed by Junio C Hamano
parent e977fc7469
commit a68377b5de
2 changed files with 3 additions and 4 deletions

View file

@ -125,8 +125,7 @@ void raw_object_store_clear(struct raw_object_store *o);
* Put in `buf` the name of the file in the local object database that * Put in `buf` the name of the file in the local object database that
* would be used to store a loose object with the specified sha1. * would be used to store a loose object with the specified sha1.
*/ */
#define sha1_file_name(r, b, s) sha1_file_name_##r(b, s) void sha1_file_name(struct repository *r, struct strbuf *buf, const unsigned char *sha1);
void sha1_file_name_the_repository(struct strbuf *buf, const unsigned char *sha1);
#define map_sha1_file(r, s, sz) map_sha1_file_##r(s, sz) #define map_sha1_file(r, s, sz) map_sha1_file_##r(s, sz)
void *map_sha1_file_the_repository(const unsigned char *sha1, unsigned long *size); void *map_sha1_file_the_repository(const unsigned char *sha1, unsigned long *size);

View file

@ -323,9 +323,9 @@ static void fill_sha1_path(struct strbuf *buf, const unsigned char *sha1)
} }
} }
void sha1_file_name_the_repository(struct strbuf *buf, const unsigned char *sha1) void sha1_file_name(struct repository *r, struct strbuf *buf, const unsigned char *sha1)
{ {
strbuf_addstr(buf, get_object_directory()); strbuf_addstr(buf, r->objects->objectdir);
strbuf_addch(buf, '/'); strbuf_addch(buf, '/');
fill_sha1_path(buf, sha1); fill_sha1_path(buf, sha1);
} }