summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2016-08-13 14:11:27 +0200
committerJunio C Hamano <gitster@pobox.com>2016-08-13 19:48:00 -0700
commitbeb518c9850f459a71a2cb9e1d36e677528a55c0 (patch)
tree8df6e0346044c2416595598e527f67e4ce08112a
parentc089320cf616d7817a0662d3963ae8ea0c4bc62d (diff)
downloadgit-beb518c9850f459a71a2cb9e1d36e677528a55c0.tar.gz
commit: factor out set_merge_remote_desc()
Export a helper function for allocating, populating and attaching a merge_remote_desc to a commit. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--commit.c19
-rw-r--r--commit.h2
2 files changed, 14 insertions, 7 deletions
diff --git a/commit.c b/commit.c
index dd955e3e29..fc3d6fb2c3 100644
--- a/commit.c
+++ b/commit.c
@@ -1576,6 +1576,16 @@ int commit_tree_extended(const char *msg, size_t msg_len,
return result;
}
+void set_merge_remote_desc(struct commit *commit,
+ const char *name, struct object *obj)
+{
+ struct merge_remote_desc *desc;
+ desc = xmalloc(sizeof(*desc));
+ desc->obj = obj;
+ desc->name = xstrdup(name);
+ commit->util = desc;
+}
+
struct commit *get_merge_parent(const char *name)
{
struct object *obj;
@@ -1585,13 +1595,8 @@ struct commit *get_merge_parent(const char *name)
return NULL;
obj = parse_object(oid.hash);
commit = (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT);
- if (commit && !commit->util) {
- struct merge_remote_desc *desc;
- desc = xmalloc(sizeof(*desc));
- desc->obj = obj;
- desc->name = xstrdup(name);
- commit->util = desc;
- }
+ if (commit && !commit->util)
+ set_merge_remote_desc(commit, name, obj);
return commit;
}
diff --git a/commit.h b/commit.h
index adf57d6c94..ed2a1f0265 100644
--- a/commit.h
+++ b/commit.h
@@ -359,6 +359,8 @@ struct merge_remote_desc {
const char *name;
};
#define merge_remote_util(commit) ((struct merge_remote_desc *)((commit)->util))
+extern void set_merge_remote_desc(struct commit *commit,
+ const char *name, struct object *obj);
/*
* Given "name" from the command line to merge, find the commit object