]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/describe.c
Merge branch 'en/merge-recursive-directory-rename-fixes'
[thirdparty/git.git] / builtin / describe.c
index e048f85484c5ea2bd1d6b684aa10b407b2699c45..b6df81d8d0e80e9665ae8f8afcf3cb03d1ae688c 100644 (file)
@@ -15,7 +15,6 @@
 #include "argv-array.h"
 #include "run-command.h"
 #include "object-store.h"
-#include "revision.h"
 #include "list-objects.h"
 #include "commit-slab.h"
 
@@ -64,19 +63,22 @@ static const char *prio_names[] = {
 };
 
 static int commit_name_neq(const void *unused_cmp_data,
-                          const void *entry,
-                          const void *entry_or_key,
+                          const struct hashmap_entry *eptr,
+                          const struct hashmap_entry *entry_or_key,
                           const void *peeled)
 {
-       const struct commit_name *cn1 = entry;
-       const struct commit_name *cn2 = entry_or_key;
+       const struct commit_name *cn1, *cn2;
+
+       cn1 = container_of(eptr, const struct commit_name, entry);
+       cn2 = container_of(entry_or_key, const struct commit_name, entry);
 
        return !oideq(&cn1->peeled, peeled ? peeled : &cn2->peeled);
 }
 
 static inline struct commit_name *find_commit_name(const struct object_id *peeled)
 {
-       return hashmap_get_from_hash(&names, oidhash(peeled), peeled);
+       return hashmap_get_entry_from_hash(&names, oidhash(peeled), peeled,
+                                               struct commit_name, entry);
 }
 
 static int replace_name(struct commit_name *e,
@@ -123,8 +125,8 @@ static void add_to_known_names(const char *path,
                if (!e) {
                        e = xmalloc(sizeof(struct commit_name));
                        oidcpy(&e->peeled, peeled);
-                       hashmap_entry_init(e, oidhash(peeled));
-                       hashmap_add(&names, e);
+                       hashmap_entry_init(&e->entry, oidhash(peeled));
+                       hashmap_add(&names, &e->entry);
                        e->path = NULL;
                }
                e->tag = tag;
@@ -330,8 +332,8 @@ static void describe_commit(struct object_id *oid, struct strbuf *dst)
                struct commit_name *n;
 
                init_commit_names(&commit_names);
-               n = hashmap_iter_first(&names, &iter);
-               for (; n; n = hashmap_iter_next(&iter)) {
+               hashmap_for_each_entry(&names, &iter, n,
+                                       entry /* member name */) {
                        c = lookup_commit_reference_gently(the_repository,
                                                           &n->peeled, 1);
                        if (c)