aboutsummaryrefslogtreecommitdiffstats
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-03-06 21:25:32 -0800
committerJunio C Hamano <gitster@pobox.com>2022-03-06 21:25:33 -0800
commit11da0a558063a94498932ed3d73dbabf1bda6dd0 (patch)
tree6e99d5d76ca815bbd68d9e3ea06868fa6b90e49a /builtin
parentMerge branch 'ah/advice-switch-requires-detach-to-detach' (diff)
parentstash: strip "refs/heads/" with skip_prefix (diff)
downloadgit-11da0a558063a94498932ed3d73dbabf1bda6dd0.tar.gz
git-11da0a558063a94498932ed3d73dbabf1bda6dd0.zip
Merge branch 'gc/stash-on-branch-with-multi-level-name'
"git checkout -b branch/with/multi/level/name && git stash" only recorded the last level component of the branch name, which has been corrected. * gc/stash-on-branch-with-multi-level-name: stash: strip "refs/heads/" with skip_prefix
Diffstat (limited to 'builtin')
-rw-r--r--builtin/stash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/stash.c b/builtin/stash.c
index 5897febfbe..3e8af210fd 100644
--- a/builtin/stash.c
+++ b/builtin/stash.c
@@ -1327,7 +1327,7 @@ static int do_create_stash(const struct pathspec *ps, struct strbuf *stash_msg_b
branch_ref = resolve_ref_unsafe("HEAD", 0, NULL, &flags);
if (flags & REF_ISSYMREF)
- branch_name = strrchr(branch_ref, '/') + 1;
+ skip_prefix(branch_ref, "refs/heads/", &branch_name);
head_short_sha1 = find_unique_abbrev(&head_commit->object.oid,
DEFAULT_ABBREV);
strbuf_addf(&msg, "%s: %s ", branch_name, head_short_sha1);