Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
object: allow lookup_object to handle arbitrary repositories
author
Stefan Beller
<sbeller@google.com>
Fri, 29 Jun 2018 01:22:07 +0000
(18:22 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Fri, 29 Jun 2018 17:43:39 +0000
(10:43 -0700)
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>
object.c
patch
|
blob
|
history
object.h
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
a962da1
)
diff --git
a/object.c
b/object.c
index f41f82c6725e7bdbb4aa53d672863273abb48bf2..9d74de95f5bde0785f1173b036d837a371936dd9 100644
(file)
--- a/
object.c
+++ b/
object.c
@@
-84,21
+84,20
@@
static void insert_obj_hash(struct object *obj, struct object **hash, unsigned i
* Look up the record for the given sha1 in the hash map stored in
* obj_hash. Return NULL if it was not found.
*/
* Look up the record for the given sha1 in the hash map stored in
* obj_hash. Return NULL if it was not found.
*/
-struct object *lookup_object
_the_repository(
const unsigned char *sha1)
+struct object *lookup_object
(struct repository *r,
const unsigned char *sha1)
{
unsigned int i, first;
struct object *obj;
{
unsigned int i, first;
struct object *obj;
- if (!
the_repository
->parsed_objects->obj_hash)
+ if (!
r
->parsed_objects->obj_hash)
return NULL;
return NULL;
- first = i = hash_obj(sha1,
- the_repository->parsed_objects->obj_hash_size);
- while ((obj = the_repository->parsed_objects->obj_hash[i]) != NULL) {
+ first = i = hash_obj(sha1, r->parsed_objects->obj_hash_size);
+ while ((obj = r->parsed_objects->obj_hash[i]) != NULL) {
if (!hashcmp(sha1, obj->oid.hash))
break;
i++;
if (!hashcmp(sha1, obj->oid.hash))
break;
i++;
- if (i ==
the_repository
->parsed_objects->obj_hash_size)
+ if (i ==
r
->parsed_objects->obj_hash_size)
i = 0;
}
if (obj && i != first) {
i = 0;
}
if (obj && i != first) {
@@
-107,8
+106,8
@@
struct object *lookup_object_the_repository(const unsigned char *sha1)
* that we do not need to walk the hash table the next
* time we look for it.
*/
* that we do not need to walk the hash table the next
* time we look for it.
*/
- SWAP(
the_repository
->parsed_objects->obj_hash[i],
-
the_repository
->parsed_objects->obj_hash[first]);
+ SWAP(
r
->parsed_objects->obj_hash[i],
+
r
->parsed_objects->obj_hash[first]);
}
return obj;
}
}
return obj;
}
diff --git
a/object.h
b/object.h
index 6f3271eb228884052d5844edd71f8d9e597b1ea4..0d7d74129b6bfd36747cc2dc5e419c9b84f2b404 100644
(file)
--- a/
object.h
+++ b/
object.h
@@
-109,8
+109,7
@@
extern struct object *get_indexed_object(unsigned int);
* half-initialised objects, the caller is expected to initialize them
* by calling parse_object() on them.
*/
* half-initialised objects, the caller is expected to initialize them
* by calling parse_object() on them.
*/
-#define lookup_object(r, s) lookup_object_##r(s)
-struct object *lookup_object_the_repository(const unsigned char *sha1);
+struct object *lookup_object(struct repository *r, const unsigned char *sha1);
extern void *create_object(struct repository *r, const unsigned char *sha1, void *obj);
extern void *create_object(struct repository *r, const unsigned char *sha1, void *obj);