summaryrefslogtreecommitdiff
path: root/Functions/VCS_Info/VCS_INFO_quilt
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2015-11-25 18:51:00 +0100
committerAxel Beckert <abe@deuxchevaux.org>2015-11-25 18:51:00 +0100
commit317ec32cb1cbd15b31e17bcb07f09c52cd37c44a (patch)
tree88a02c853dfafd82a2d551d862d8dfb056b1bee6 /Functions/VCS_Info/VCS_INFO_quilt
parent1637291aaea12ddcfd549d50d49c480185995c1a (diff)
parentcce4261a3c6f4bf78b483db61623c80e3c98d10b (diff)
downloadzsh-317ec32cb1cbd15b31e17bcb07f09c52cd37c44a.tar.gz
zsh-317ec32cb1cbd15b31e17bcb07f09c52cd37c44a.zip
Merge tag 'zsh-5.1.1-test-1' into debian
Diffstat (limited to 'Functions/VCS_Info/VCS_INFO_quilt')
-rw-r--r--Functions/VCS_Info/VCS_INFO_quilt31
1 files changed, 31 insertions, 0 deletions
diff --git a/Functions/VCS_Info/VCS_INFO_quilt b/Functions/VCS_Info/VCS_INFO_quilt
index bc71cfb7d..c3c3d864d 100644
--- a/Functions/VCS_Info/VCS_INFO_quilt
+++ b/Functions/VCS_Info/VCS_INFO_quilt
@@ -119,6 +119,7 @@ function VCS_INFO_quilt() {
applied=()
fi
patches=$(<$pc/.quilt_patches)
+ patches=`builtin cd -q "${pc:h}" && print -r - ${patches:A}`
fi
if zstyle -t "${context}" get-unapplied; then
# This zstyle call needs to be moved further up if `quilt' needs
@@ -144,6 +145,36 @@ function VCS_INFO_quilt() {
unapplied=()
fi
+ if [[ -n $patches ]]; then
+ () {
+ local i line
+ for ((i=1; i<=$#applied; i++)); do
+ if [[ -f "$patches/$applied[$i]" ]] &&
+ read -r line < "$patches/$applied[$i]" &&
+ [[ $line != (#b)(---|Index:)* ]] &&
+ true
+ ;
+ then
+ applied[$i]+=" $line"
+ else
+ applied[$i]+=" ?"
+ fi
+ done
+ for ((i=1; i<=$#unapplied; i++)); do
+ if [[ -f "$patches/$unapplied[$i]" ]] &&
+ read -r line < "$patches/$unapplied[$i]" &&
+ [[ $line != (#b)(---|Index:)* ]] &&
+ true
+ ;
+ then
+ unapplied[$i]+=" $line"
+ else
+ unapplied[$i]+=" ?"
+ fi
+ done
+ }
+ fi
+
all=( ${(Oa)applied} ${unapplied} )
if VCS_INFO_hook 'gen-applied-string' "${applied[@]}"; then