@@ -15,7 +15,7 @@
#include "midx.h"
#include "commit-reach.h"
-static int get_oid_oneline(const char *, struct object_id *, struct commit_list *);
+static int get_oid_oneline(struct repository *r, const char *, struct object_id *, struct commit_list *);
typedef int (*disambiguate_hint_fn)(struct repository *, const struct object_id *, void *);
@@ -1090,7 +1090,7 @@ static int peel_onion(const char *name, int len, struct object_id *oid,
prefix = xstrndup(sp + 1, name + len - 1 - (sp + 1));
commit_list_insert((struct commit *)o, &list);
- ret = get_oid_oneline(prefix, oid, list);
+ ret = get_oid_oneline(the_repository, prefix, oid, list);
free(prefix);
return ret;
}
@@ -1204,8 +1204,9 @@ static int handle_one_ref(const char *path, const struct object_id *oid,
return 0;
}
-static int get_oid_oneline(const char *prefix, struct object_id *oid,
- struct commit_list *list)
+static int get_oid_oneline(struct repository *r,
+ const char *prefix, struct object_id *oid,
+ struct commit_list *list)
{
struct commit_list *backup = NULL, *l;
int found = 0;
@@ -1236,7 +1237,7 @@ static int get_oid_oneline(const char *prefix, struct object_id *oid,
int matches;
commit = pop_most_recent_commit(&list, ONELINE_SEEN);
- if (!parse_object(the_repository, &commit->object.oid))
+ if (!parse_object(r, &commit->object.oid))
continue;
buf = get_commit_buffer(commit, NULL);
p = strstr(buf, "\n\n");
@@ -1760,7 +1761,7 @@ static enum get_oid_result get_oid_with_context_1(struct repository *repo,
for_each_ref(handle_one_ref, &list);
head_ref(handle_one_ref, &list);
commit_list_sort_by_date(&list);
- return get_oid_oneline(name + 2, oid, list);
+ return get_oid_oneline(repo, name + 2, oid, list);
}
if (namelen < 3 ||
name[2] != ':' ||
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> --- sha1-name.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)