mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
Merge branch 'jc/checkout-reflog-fix'
* jc/checkout-reflog-fix: checkout: do not write bogus reflog entry out
This commit is contained in:
commit
4f9aba9c26
@ -716,10 +716,12 @@ static int switch_branches(struct checkout_opts *opts, struct branch_info *new)
|
||||
unsigned char rev[20];
|
||||
int flag;
|
||||
memset(&old, 0, sizeof(old));
|
||||
old.path = resolve_ref("HEAD", rev, 0, &flag);
|
||||
old.path = xstrdup(resolve_ref("HEAD", rev, 0, &flag));
|
||||
old.commit = lookup_commit_reference_gently(rev, 1);
|
||||
if (!(flag & REF_ISSYMREF))
|
||||
if (!(flag & REF_ISSYMREF)) {
|
||||
free((char *)old.path);
|
||||
old.path = NULL;
|
||||
}
|
||||
|
||||
if (old.path && !prefixcmp(old.path, "refs/heads/"))
|
||||
old.name = old.path + strlen("refs/heads/");
|
||||
@ -742,6 +744,7 @@ static int switch_branches(struct checkout_opts *opts, struct branch_info *new)
|
||||
update_refs_for_switch(opts, &old, new);
|
||||
|
||||
ret = post_checkout_hook(old.commit, new->commit, 1);
|
||||
free((char *)old.path);
|
||||
return ret || opts->writeout_error;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user