object: add repository argument to create_object
Add a repository argument to allow the callers of create_object 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. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
99bf115c87
commit
68f95d382b
4
blob.c
4
blob.c
@ -1,5 +1,6 @@
|
||||
#include "cache.h"
|
||||
#include "blob.h"
|
||||
#include "repository.h"
|
||||
|
||||
const char *blob_type = "blob";
|
||||
|
||||
@ -7,7 +8,8 @@ struct blob *lookup_blob(const struct object_id *oid)
|
||||
{
|
||||
struct object *obj = lookup_object(oid->hash);
|
||||
if (!obj)
|
||||
return create_object(oid->hash, alloc_blob_node());
|
||||
return create_object(the_repository, oid->hash,
|
||||
alloc_blob_node());
|
||||
return object_as_type(obj, OBJ_BLOB, 0);
|
||||
}
|
||||
|
||||
|
3
commit.c
3
commit.c
@ -50,7 +50,8 @@ struct commit *lookup_commit(const struct object_id *oid)
|
||||
{
|
||||
struct object *obj = lookup_object(oid->hash);
|
||||
if (!obj)
|
||||
return create_object(oid->hash, alloc_commit_node());
|
||||
return create_object(the_repository, oid->hash,
|
||||
alloc_commit_node());
|
||||
return object_as_type(obj, OBJ_COMMIT, 0);
|
||||
}
|
||||
|
||||
|
5
object.c
5
object.c
@ -138,7 +138,7 @@ static void grow_object_hash(void)
|
||||
the_repository->parsed_objects->obj_hash_size = new_hash_size;
|
||||
}
|
||||
|
||||
void *create_object(const unsigned char *sha1, void *o)
|
||||
void *create_object_the_repository(const unsigned char *sha1, void *o)
|
||||
{
|
||||
struct object *obj = o;
|
||||
|
||||
@ -178,7 +178,8 @@ struct object *lookup_unknown_object(const unsigned char *sha1)
|
||||
{
|
||||
struct object *obj = lookup_object(sha1);
|
||||
if (!obj)
|
||||
obj = create_object(sha1, alloc_object_node());
|
||||
obj = create_object(the_repository, sha1,
|
||||
alloc_object_node());
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
3
object.h
3
object.h
@ -93,7 +93,8 @@ extern struct object *get_indexed_object(unsigned int);
|
||||
*/
|
||||
struct object *lookup_object(const unsigned char *sha1);
|
||||
|
||||
extern void *create_object(const unsigned char *sha1, void *obj);
|
||||
#define create_object(r, s, o) create_object_##r(s, o)
|
||||
extern void *create_object_the_repository(const unsigned char *sha1, void *obj);
|
||||
|
||||
void *object_as_type(struct object *obj, enum object_type type, int quiet);
|
||||
|
||||
|
3
tag.c
3
tag.c
@ -93,7 +93,8 @@ struct tag *lookup_tag(const struct object_id *oid)
|
||||
{
|
||||
struct object *obj = lookup_object(oid->hash);
|
||||
if (!obj)
|
||||
return create_object(oid->hash, alloc_tag_node());
|
||||
return create_object(the_repository, oid->hash,
|
||||
alloc_tag_node());
|
||||
return object_as_type(obj, OBJ_TAG, 0);
|
||||
}
|
||||
|
||||
|
3
tree.c
3
tree.c
@ -196,7 +196,8 @@ struct tree *lookup_tree(const struct object_id *oid)
|
||||
{
|
||||
struct object *obj = lookup_object(oid->hash);
|
||||
if (!obj)
|
||||
return create_object(oid->hash, alloc_tree_node());
|
||||
return create_object(the_repository, oid->hash,
|
||||
alloc_tree_node());
|
||||
return object_as_type(obj, OBJ_TREE, 0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user