Merge branch 'sb/object-store-lookup'
lookup_commit_reference() and friends have been updated to find in-core object for a specific in-core repository instance. * sb/object-store-lookup: (32 commits) commit.c: allow lookup_commit_reference to handle arbitrary repositories commit.c: allow lookup_commit_reference_gently to handle arbitrary repositories tag.c: allow deref_tag to handle arbitrary repositories object.c: allow parse_object to handle arbitrary repositories object.c: allow parse_object_buffer to handle arbitrary repositories commit.c: allow get_cached_commit_buffer to handle arbitrary repositories commit.c: allow set_commit_buffer to handle arbitrary repositories commit.c: migrate the commit buffer to the parsed object store commit-slabs: remove realloc counter outside of slab struct commit.c: allow parse_commit_buffer to handle arbitrary repositories tag: allow parse_tag_buffer to handle arbitrary repositories tag: allow lookup_tag to handle arbitrary repositories commit: allow lookup_commit to handle arbitrary repositories tree: allow lookup_tree to handle arbitrary repositories blob: allow lookup_blob to handle arbitrary repositories object: allow lookup_object to handle arbitrary repositories object: allow object_as_type to handle arbitrary repositories tag: add repository argument to deref_tag tag: add repository argument to parse_tag_buffer tag: add repository argument to lookup_tag ...
This commit is contained in:
9
fsck.c
9
fsck.c
@ -1,5 +1,6 @@
|
||||
#include "cache.h"
|
||||
#include "object-store.h"
|
||||
#include "repository.h"
|
||||
#include "object.h"
|
||||
#include "blob.h"
|
||||
#include "tree.h"
|
||||
@ -413,14 +414,14 @@ static int fsck_walk_tree(struct tree *tree, void *data, struct fsck_options *op
|
||||
continue;
|
||||
|
||||
if (S_ISDIR(entry.mode)) {
|
||||
obj = (struct object *)lookup_tree(entry.oid);
|
||||
obj = (struct object *)lookup_tree(the_repository, entry.oid);
|
||||
if (name && obj)
|
||||
put_object_name(options, obj, "%s%s/", name,
|
||||
entry.path);
|
||||
result = options->walk(obj, OBJ_TREE, data, options);
|
||||
}
|
||||
else if (S_ISREG(entry.mode) || S_ISLNK(entry.mode)) {
|
||||
obj = (struct object *)lookup_blob(entry.oid);
|
||||
obj = (struct object *)lookup_blob(the_repository, entry.oid);
|
||||
if (name && obj)
|
||||
put_object_name(options, obj, "%s%s", name,
|
||||
entry.path);
|
||||
@ -518,7 +519,7 @@ int fsck_walk(struct object *obj, void *data, struct fsck_options *options)
|
||||
return -1;
|
||||
|
||||
if (obj->type == OBJ_NONE)
|
||||
parse_object(&obj->oid);
|
||||
parse_object(the_repository, &obj->oid);
|
||||
|
||||
switch (obj->type) {
|
||||
case OBJ_BLOB:
|
||||
@ -1081,7 +1082,7 @@ int fsck_finish(struct fsck_options *options)
|
||||
if (oidset_contains(&gitmodules_done, oid))
|
||||
continue;
|
||||
|
||||
blob = lookup_blob(oid);
|
||||
blob = lookup_blob(the_repository, oid);
|
||||
if (!blob) {
|
||||
struct object *obj = lookup_unknown_object(oid->hash);
|
||||
ret |= report(options, obj,
|
||||
|
||||
Reference in New Issue
Block a user