alloc: add repository argument to alloc_commit_index

This is a small mechanical change; it doesn't change the
implementation to handle repositories other than the_repository yet.
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: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-05-08 12:37:33 -07:00 коммит произвёл Junio C Hamano
Родитель 17bfe87369
Коммит dd5d9deb01
3 изменённых файлов: 5 добавлений и 4 удалений

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

@ -82,7 +82,7 @@ void *alloc_object_node_the_repository(void)
static struct alloc_state commit_state;
unsigned int alloc_commit_index(void)
unsigned int alloc_commit_index_the_repository(void)
{
static unsigned int count;
return count++;
@ -92,7 +92,7 @@ void *alloc_commit_node_the_repository(void)
{
struct commit *c = alloc_node(&commit_state, sizeof(struct commit));
c->object.type = OBJ_COMMIT;
c->index = alloc_commit_index();
c->index = alloc_commit_index(the_repository);
return c;
}

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

@ -1776,7 +1776,8 @@ extern void *alloc_tag_node_the_repository(void);
extern void *alloc_object_node_the_repository(void);
#define alloc_report(r) alloc_report_##r()
extern void alloc_report_the_repository(void);
extern unsigned int alloc_commit_index(void);
#define alloc_commit_index(r) alloc_commit_index_##r()
extern unsigned int alloc_commit_index_the_repository(void);
/* pkt-line.c */
void packet_trace_identity(const char *prog);

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

@ -162,7 +162,7 @@ void *object_as_type(struct object *obj, enum object_type type, int quiet)
return obj;
else if (obj->type == OBJ_NONE) {
if (type == OBJ_COMMIT)
((struct commit *)obj)->index = alloc_commit_index();
((struct commit *)obj)->index = alloc_commit_index(the_repository);
obj->type = type;
return obj;
}