1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-02 10:01:11 +02:00

43617: vcs_info git: During a non-interactive rebase of a detached head, computer the %b expando correctly.

Before this commit, the value of %b was the hash of the commit from the
"source" side of the rebase, from .git/rebase-apply/orig-head and
.git/rebase-apply/original-commit.  This broke the invariant that
%b expands to a git-rev-parse(1) expression resolving to what %r
expands to.

Use .git/rebase-apply/onto instead as, empirically, it contains the
correct value.
This commit is contained in:
Daniel Shahaf 2018-10-07 17:46:42 +00:00
parent 0e0219118d
commit 31dcba76f0
2 changed files with 5 additions and 1 deletions

View file

@ -1,5 +1,9 @@
2018-10-08 Daniel Shahaf <d.s@daniel.shahaf.name>
* 43617: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
vcs_info git: During a non-interactive rebase of a detached head,
computer the %b expando correctly.
* 43619: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
vcs_info git: In non-interactive rebases, always set
$hook_com[git_patches_applied] to a string of the form 'foo bar',

View file

@ -90,7 +90,7 @@ VCS_INFO_git_getbranch () {
[[ -z ${gitbranch} ]] && [[ -r ${actiondir}/head-name ]] \
&& gitbranch="$(< ${actiondir}/head-name)"
[[ -z ${gitbranch} || ${gitbranch} == 'detached HEAD' ]] \
&& gitbranch="$(< ${gitdir}/ORIG_HEAD)"
&& gitbranch="$(< ${actiondir}/onto)"
elif [[ -f "${gitdir}/MERGE_HEAD" ]] ; then
gitbranch="$(${(z)gitsymref} 2> /dev/null)"