Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
object.c: allow parse_object_buffer to handle arbitrary repositories
author
Stefan Beller
<sbeller@google.com>
Fri, 29 Jun 2018 01:22:18 +0000
(18:22 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Fri, 29 Jun 2018 17:43:40 +0000
(10:43 -0700)
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 (from parent 1:
4ff7e5c
)
diff --git
a/object.c
b/object.c
index 9d588448192d177997b1806a2e588e0244719e6f..cd870fee22b20ca1a0e3d6d86748ffcaa30a79d7 100644
(file)
--- a/
object.c
+++ b/
object.c
@@
-185,21
+185,21
@@
struct object *lookup_unknown_object(const unsigned char *sha1)
return obj;
}
return obj;
}
-struct object *parse_object_buffer
_the_repository(
const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten_p)
+struct object *parse_object_buffer
(struct repository *r,
const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten_p)
{
struct object *obj;
*eaten_p = 0;
obj = NULL;
if (type == OBJ_BLOB) {
{
struct object *obj;
*eaten_p = 0;
obj = NULL;
if (type == OBJ_BLOB) {
- struct blob *blob = lookup_blob(
the_repository
, oid);
+ struct blob *blob = lookup_blob(
r
, oid);
if (blob) {
if (parse_blob_buffer(blob, buffer, size))
return NULL;
obj = &blob->object;
}
} else if (type == OBJ_TREE) {
if (blob) {
if (parse_blob_buffer(blob, buffer, size))
return NULL;
obj = &blob->object;
}
} else if (type == OBJ_TREE) {
- struct tree *tree = lookup_tree(
the_repository
, oid);
+ struct tree *tree = lookup_tree(
r
, oid);
if (tree) {
obj = &tree->object;
if (!tree->buffer)
if (tree) {
obj = &tree->object;
if (!tree->buffer)
@@
-211,20
+211,20
@@
struct object *parse_object_buffer_the_repository(const struct object_id *oid, e
}
}
} else if (type == OBJ_COMMIT) {
}
}
} else if (type == OBJ_COMMIT) {
- struct commit *commit = lookup_commit(
the_repository
, oid);
+ struct commit *commit = lookup_commit(
r
, oid);
if (commit) {
if (commit) {
- if (parse_commit_buffer(
the_repository
, commit, buffer, size, 1))
+ if (parse_commit_buffer(
r
, commit, buffer, size, 1))
return NULL;
return NULL;
- if (!get_cached_commit_buffer(
the_repository
, commit, NULL)) {
- set_commit_buffer(
the_repository
, commit, buffer, size);
+ if (!get_cached_commit_buffer(
r
, commit, NULL)) {
+ set_commit_buffer(
r
, commit, buffer, size);
*eaten_p = 1;
}
obj = &commit->object;
}
} else if (type == OBJ_TAG) {
*eaten_p = 1;
}
obj = &commit->object;
}
} else if (type == OBJ_TAG) {
- struct tag *tag = lookup_tag(
the_repository
, oid);
+ struct tag *tag = lookup_tag(
r
, oid);
if (tag) {
if (tag) {
- if (parse_tag_buffer(
the_repository
, tag, buffer, size))
+ if (parse_tag_buffer(
r
, tag, buffer, size))
return NULL;
obj = &tag->object;
}
return NULL;
obj = &tag->object;
}
diff --git
a/object.h
b/object.h
index f54a892bd102973722cec828213590449c25a59f..38198bb73a14665a8c5b31d3ec26e05a0b8bd8f1 100644
(file)
--- a/
object.h
+++ b/
object.h
@@
-138,8
+138,7
@@
struct object *parse_object_or_die(const struct object_id *oid, const char *name
* parsing it. eaten_p indicates if the object has a borrowed copy
* of buffer and the caller should not free() it.
*/
* parsing it. eaten_p indicates if the object has a borrowed copy
* of buffer and the caller should not free() it.
*/
-#define parse_object_buffer(r, o, t, s, b, e) parse_object_buffer_##r(o, t, s, b, e)
-struct object *parse_object_buffer_the_repository(const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten_p);
+struct object *parse_object_buffer(struct repository *r, const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten_p);
/** Returns the object, with potentially excess memory allocated. **/
struct object *lookup_unknown_object(const unsigned char *sha1);
/** Returns the object, with potentially excess memory allocated. **/
struct object *lookup_unknown_object(const unsigned char *sha1);