packfile: add repository argument to reprepare_packed_git

See previous patch for explanation.

Signed-off-by: Stefan Beller <sbeller@google.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:45:21 +01:00 коммит произвёл Junio C Hamano
Родитель 6fdb4e9f5a
Коммит a49d283435
7 изменённых файлов: 11 добавлений и 7 удалений

Просмотреть файл

@ -478,7 +478,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
return error(FAILED_RUN, rerere.argv[0]);
report_garbage = report_pack_garbage;
reprepare_packed_git();
reprepare_packed_git(the_repository);
if (pack_garbage.nr > 0)
clean_pack_garbage();

Просмотреть файл

@ -1,4 +1,5 @@
#include "builtin.h"
#include "repository.h"
#include "config.h"
#include "lockfile.h"
#include "pack.h"
@ -1777,7 +1778,7 @@ static const char *unpack(int err_fd, struct shallow_info *si)
status = finish_command(&child);
if (status)
return "index-pack abnormal exit";
reprepare_packed_git();
reprepare_packed_git(the_repository);
}
return NULL;
}

Просмотреть файл

@ -3,6 +3,7 @@
*/
#include "cache.h"
#include "bulk-checkin.h"
#include "repository.h"
#include "csum-file.h"
#include "pack.h"
#include "strbuf.h"
@ -57,7 +58,7 @@ clear_exit:
strbuf_release(&packname);
/* Make objects we just wrote available to ourselves */
reprepare_packed_git();
reprepare_packed_git(the_repository);
}
static int already_written(struct bulk_checkin_state *state, unsigned char sha1[])

Просмотреть файл

@ -1,4 +1,5 @@
#include "cache.h"
#include "repository.h"
#include "config.h"
#include "lockfile.h"
#include "refs.h"
@ -1192,7 +1193,7 @@ struct ref *fetch_pack(struct fetch_pack_args *args,
prepare_shallow_info(&si, shallow);
ref_cpy = do_fetch_pack(args, fd, ref, sought, nr_sought,
&si, pack_lockfile);
reprepare_packed_git();
reprepare_packed_git(the_repository);
update_shallow(args, sought, nr_sought, &si);
clear_shallow_info(&si);
return ref_cpy;

Просмотреть файл

@ -899,7 +899,7 @@ void prepare_packed_git_the_repository(void)
the_repository->objects->packed_git_initialized = 1;
}
void reprepare_packed_git(void)
void reprepare_packed_git_the_repository(void)
{
the_repository->objects->approximate_object_count_valid = 0;
the_repository->objects->packed_git_initialized = 0;

Просмотреть файл

@ -36,7 +36,8 @@ extern void (*report_garbage)(unsigned seen_bits, const char *path);
#define prepare_packed_git(r) prepare_packed_git_##r()
extern void prepare_packed_git_the_repository(void);
extern void reprepare_packed_git(void);
#define reprepare_packed_git(r) reprepare_packed_git_##r()
extern void reprepare_packed_git_the_repository(void);
extern void install_packed_git(struct repository *r, struct packed_git *pack);
struct packed_git *get_packed_git(struct repository *r);

Просмотреть файл

@ -1274,7 +1274,7 @@ int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi,
return 0;
/* Not a loose object; someone else may have just packed it. */
reprepare_packed_git();
reprepare_packed_git(the_repository);
if (find_pack_entry(real, &e))
break;