Imported Upstream version 2.28.0
[platform/upstream/git.git] / reflog-walk.c
index 74ebe51..3a25b27 100644 (file)
@@ -61,11 +61,10 @@ static struct complete_reflogs *read_complete_reflog(const char *ref)
        reflogs->ref = xstrdup(ref);
        for_each_reflog_ent(ref, read_one_reflog, reflogs);
        if (reflogs->nr == 0) {
-               struct object_id oid;
                const char *name;
                void *name_to_free;
                name = name_to_free = resolve_refdup(ref, RESOLVE_REF_READING,
-                                                    oid.hash, NULL);
+                                                    NULL, NULL);
                if (name) {
                        for_each_reflog_ent(name, read_one_reflog, reflogs);
                        free(name_to_free);
@@ -129,7 +128,7 @@ int add_reflog_for_walk(struct reflog_walk_info *info,
        enum selector_type selector = SELECTOR_NONE;
 
        if (commit->object.flags & UNINTERESTING)
-               die ("Cannot walk reflogs for %s", name);
+               die("cannot walk reflogs for %s", name);
 
        branch = xstrdup(name);
        if (at && at[1] == '{') {
@@ -151,11 +150,10 @@ int add_reflog_for_walk(struct reflog_walk_info *info,
                reflogs = item->util;
        else {
                if (*branch == '\0') {
-                       struct object_id oid;
                        free(branch);
-                       branch = resolve_refdup("HEAD", 0, oid.hash, NULL);
+                       branch = resolve_refdup("HEAD", 0, NULL, NULL);
                        if (!branch)
-                               die ("No current branch");
+                               die("no current branch");
 
                }
                reflogs = read_complete_reflog(branch);
@@ -163,7 +161,7 @@ int add_reflog_for_walk(struct reflog_walk_info *info,
                        struct object_id oid;
                        char *b;
                        int ret = dwim_log(branch, strlen(branch),
-                                          oid.hash, &b);
+                                          &oid, &b);
                        if (ret > 1)
                                free(b);
                        else if (ret == 1) {
@@ -307,7 +305,8 @@ static struct commit *next_reflog_commit(struct commit_reflog *log)
 {
        for (; log->recno >= 0; log->recno--) {
                struct reflog_info *entry = &log->reflogs->items[log->recno];
-               struct object *obj = parse_object(&entry->noid);
+               struct object *obj = parse_object(the_repository,
+                                                 &entry->noid);
 
                if (obj && obj->type == OBJ_COMMIT)
                        return (struct commit *)obj;