зеркало из https://github.com/microsoft/git.git
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:
Родитель
6fdb4e9f5a
Коммит
a49d283435
|
@ -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;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче