diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-12-09 13:37:14 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-12-09 13:37:14 -0800 |
commit | b7f7c07977ab6e41899b835b873a1ac499eaa2b3 (patch) | |
tree | 9b20151eb2b1a325ed2c72c22fad41616d8d98db /builtin/branch.c | |
parent | eb8aa3d2c2849cb3a44396b89054339df38e2bfa (diff) | |
parent | d5a35c114ab6b4337a1c7598bf75c331d94ee092 (diff) | |
download | git-b7f7c07977ab6e41899b835b873a1ac499eaa2b3.tar.gz git-b7f7c07977ab6e41899b835b873a1ac499eaa2b3.tar.xz |
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/branch.c')
-rw-r--r-- | builtin/branch.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/builtin/branch.c b/builtin/branch.c index ad02f0fd7..e1e486e4c 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -115,8 +115,10 @@ static int branch_merged(int kind, const char *name, branch->merge[0] && branch->merge[0]->dst && (reference_name = - resolve_ref(branch->merge[0]->dst, sha1, 1, NULL)) != NULL) + resolve_ref(branch->merge[0]->dst, sha1, 1, NULL)) != NULL) { + reference_name = xstrdup(reference_name); reference_rev = lookup_commit_reference(sha1); + } } if (!reference_rev) reference_rev = head_rev; @@ -141,6 +143,7 @@ static int branch_merged(int kind, const char *name, " '%s', even though it is merged to HEAD."), name, reference_name); } + free((char *)reference_name); return merged; } @@ -186,7 +189,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds) free(name); name = xstrdup(mkpath(fmt, bname.buf)); - if (!resolve_ref(name, sha1, 1, NULL)) { + if (read_ref(name, sha1)) { error(_("%sbranch '%s' not found."), remote, bname.buf); ret = 1; @@ -565,7 +568,6 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru static void rename_branch(const char *oldname, const char *newname, int force) { struct strbuf oldref = STRBUF_INIT, newref = STRBUF_INIT, logmsg = STRBUF_INIT; - unsigned char sha1[20]; struct strbuf oldsection = STRBUF_INIT, newsection = STRBUF_INIT; int recovery = 0; @@ -577,7 +579,7 @@ static void rename_branch(const char *oldname, const char *newname, int force) * Bad name --- this could be an attempt to rename a * ref that we used to allow to be created by accident. */ - if (resolve_ref(oldref.buf, sha1, 1, NULL)) + if (ref_exists(oldref.buf)) recovery = 1; else die(_("Invalid branch name: '%s'"), oldname); |