diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2018-05-19 08:28:30 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-21 08:07:20 +0300 |
commit | e2e5ac2303377c28e82b6044b06caebe4a1734c9 (patch) | |
tree | 7f44f4214e6c8d9913592154949195fbb4037012 /commit.c | |
parent | 7b680d32f3e3e2469733a7668fad2253bb4aeb4d (diff) |
merge: use commit-slab in merge remote desc instead of commit->util
It's done so that commit->util can be removed. See more explanation in
the commit that removes commit->util.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.c')
-rw-r--r-- | commit.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -1574,13 +1574,21 @@ out: return result; } +define_commit_slab(merge_desc_slab, struct merge_remote_desc *); +static struct merge_desc_slab merge_desc_slab = COMMIT_SLAB_INIT(1, merge_desc_slab); + +struct merge_remote_desc *merge_remote_util(struct commit *commit) +{ + return *merge_desc_slab_at(&merge_desc_slab, commit); +} + void set_merge_remote_desc(struct commit *commit, const char *name, struct object *obj) { struct merge_remote_desc *desc; FLEX_ALLOC_STR(desc, name, name); desc->obj = obj; - commit->util = desc; + *merge_desc_slab_at(&merge_desc_slab, commit) = desc; } struct commit *get_merge_parent(const char *name) @@ -1592,7 +1600,7 @@ struct commit *get_merge_parent(const char *name) return NULL; obj = parse_object(&oid); commit = (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT); - if (commit && !commit->util) + if (commit && !merge_remote_util(commit)) set_merge_remote_desc(commit, name, obj); return commit; } |