sha1_file: add repository argument to open_sha1_file
Add a repository argument to allow the open_sha1_file caller to be more specific about which repository to act on. This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet. As with the previous commits, use a macro to catch callers passing a repository other than the_repository at compile time. 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:

committed by
Junio C Hamano

parent
fbe33e2798
commit
2ba0bfd67f
@ -896,7 +896,9 @@ static int stat_sha1_file_the_repository(const unsigned char *sha1,
|
|||||||
* Like stat_sha1_file(), but actually open the object and return the
|
* Like stat_sha1_file(), but actually open the object and return the
|
||||||
* descriptor. See the caveats on the "path" parameter above.
|
* descriptor. See the caveats on the "path" parameter above.
|
||||||
*/
|
*/
|
||||||
static int open_sha1_file(const unsigned char *sha1, const char **path)
|
#define open_sha1_file(r, s, p) open_sha1_file_##r(s, p)
|
||||||
|
static int open_sha1_file_the_repository(const unsigned char *sha1,
|
||||||
|
const char **path)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
struct alternate_object_database *alt;
|
struct alternate_object_database *alt;
|
||||||
@ -939,7 +941,7 @@ static void *map_sha1_file_1(const char *path,
|
|||||||
if (path)
|
if (path)
|
||||||
fd = git_open(path);
|
fd = git_open(path);
|
||||||
else
|
else
|
||||||
fd = open_sha1_file(sha1, &path);
|
fd = open_sha1_file(the_repository, sha1, &path);
|
||||||
map = NULL;
|
map = NULL;
|
||||||
if (fd >= 0) {
|
if (fd >= 0) {
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
Reference in New Issue
Block a user