summaryrefslogtreecommitdiff
path: root/builtin/notes.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-12-09 13:37:14 -0800
committerJunio C Hamano <gitster@pobox.com>2011-12-09 13:37:14 -0800
commitb7f7c07977ab6e41899b835b873a1ac499eaa2b3 (patch)
tree9b20151eb2b1a325ed2c72c22fad41616d8d98db /builtin/notes.c
parenteb8aa3d2c2849cb3a44396b89054339df38e2bfa (diff)
parentd5a35c114ab6b4337a1c7598bf75c331d94ee092 (diff)
downloadgit-b7f7c07977ab6e41899b835b873a1ac499eaa2b3.tar.gz
Merge branch 'nd/resolve-ref'
* nd/resolve-ref: Copy resolve_ref() return value for longer use Convert many resolve_ref() calls to read_ref*() and ref_exists() Conflicts: builtin/fmt-merge-msg.c builtin/merge.c refs.c
Diffstat (limited to 'builtin/notes.c')
-rw-r--r--builtin/notes.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/builtin/notes.c b/builtin/notes.c
index f8e437db01..10b8bc7ad9 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c
@@ -804,6 +804,7 @@ static int merge_commit(struct notes_merge_options *o)
struct notes_tree *t;
struct commit *partial;
struct pretty_print_context pretty_ctx;
+ int ret;
/*
* Read partial merge result from .git/NOTES_MERGE_PARTIAL,
@@ -828,6 +829,7 @@ static int merge_commit(struct notes_merge_options *o)
o->local_ref = resolve_ref("NOTES_MERGE_REF", sha1, 0, NULL);
if (!o->local_ref)
die("Failed to resolve NOTES_MERGE_REF");
+ o->local_ref = xstrdup(o->local_ref);
if (notes_merge_commit(o, t, partial, sha1))
die("Failed to finalize notes merge");
@@ -843,7 +845,9 @@ static int merge_commit(struct notes_merge_options *o)
free_notes(t);
strbuf_release(&msg);
- return merge_abort(o);
+ ret = merge_abort(o);
+ free((char *)o->local_ref);
+ return ret;
}
static int merge(int argc, const char **argv, const char *prefix)