summary refs log tree commit diff
path: root/Functions/VCS_Info/VCS_INFO_quilt
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2015-10-24 13:57:03 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2015-10-24 13:57:03 -0700
commit2685bbc4ae51516738c85da7ff1300262785f9b0 (patch)
treeeb97e3f5b232b863d7d10ef883dae7f37aa0ba8d /Functions/VCS_Info/VCS_INFO_quilt
parent506d5923802a930f24dd264588a8d33c05ed085b (diff)
parente3c68450d77e679499a93fa87d964907213e15c3 (diff)
downloadzsh-2685bbc4ae51516738c85da7ff1300262785f9b0.tar.gz
zsh-2685bbc4ae51516738c85da7ff1300262785f9b0.tar.xz
zsh-2685bbc4ae51516738c85da7ff1300262785f9b0.zip
Merge branch 'master' of git://git.code.sf.net/p/zsh/code
Conflicts:
	ChangeLog

Conflicts:
	ChangeLog
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