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

33391: vcs_info git: fix applied patch detection on git am

git-am also uses .git/rebase-apply for patch list but
the file original-commit does not exist (as no commit exist).
This patch handles both git rebase and git am. Also:
 - get the first line (rather than the first char) when the message
   contains only one line;
 - remove unused function (ironically that should have been used here).
This commit is contained in:
Marc Finet 2014-10-09 00:24:45 +02:00 committed by Frank Terbeck
parent 185476e70e
commit 0f73b35f4e
2 changed files with 12 additions and 10 deletions

View file

@ -1,3 +1,8 @@
2014-10-09 Marc Finet <m.dreadlock@gmail.com>
* 33391: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
vcs_info git: fix applied patch detection on git am
2014-10-08 Peter Stephenson <p.w.stephenson@ntlworld.com>
* unposted: Config/version.mk: update to 5.0.7-dev-0 to avoid

View file

@ -195,14 +195,6 @@ fi
VCS_INFO_adjust
VCS_INFO_git_getaction ${gitdir}
VCS_INFO_get_get_rebase()
{
if [[ -f "$1" ]]; then
echo "$(< "$1")"
fi
}
local patchdir=${gitdir}/patches/${gitbranch}
if [[ -d $patchdir ]] && [[ -f $patchdir/applied ]] \
&& [[ -f $patchdir/unapplied ]]
@ -223,11 +215,16 @@ elif [[ -d "${gitdir}/rebase-apply" ]]; then
# Fake patch names for all but current patch
patchdir="${gitdir}/rebase-apply"
local cur=$(< "${patchdir}/next")
local p
local p subject
for p in $(seq $(($cur - 1))); do
git_patches_applied+=("$(printf "%04d" $p) ?")
done
git_patches_applied+=("$(< "${patchdir}/original-commit") ${${(f)$(< "${patchdir}/msg-clean")}[1]}")
subject="${$(< "${patchdir}/msg-clean")[(f)1]}"
if [[ -f "${patchdir}/original-commit" ]]; then
git_patches_applied+=("$(< ${patchdir}/original-commit) $subject")
else
git_patches_applied+=("? $subject")
fi
git_patches_unapplied=($(seq $cur $(< "${patchdir}/last")))
VCS_INFO_git_handle_patches