summaryrefslogtreecommitdiff
path: root/Functions/VCS_Info
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2015-10-21 05:11:59 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2015-10-24 20:42:26 +0000
commit779b3112f85d01d297ab04e6c1b68a0b33d76a55 (patch)
treee5ea0d2df6b4f9e092f23d236ab8f9d87d3507ee /Functions/VCS_Info
parentc62db9e7dc2f59337aec1df55663383c524886cb (diff)
downloadzsh-779b3112f85d01d297ab04e6c1b68a0b33d76a55.tar.gz
zsh-779b3112f85d01d297ab04e6c1b68a0b33d76a55.zip
36913 + 36945: vcs_info quilt: Pass patch subject lines to gen-applied-string
The format used is '${patchname} ${subject}', which is analogous to the git backend.
Diffstat (limited to 'Functions/VCS_Info')
-rw-r--r--Functions/VCS_Info/VCS_INFO_quilt30
1 files changed, 30 insertions, 0 deletions
diff --git a/Functions/VCS_Info/VCS_INFO_quilt b/Functions/VCS_Info/VCS_INFO_quilt
index 29603a27a..c3c3d864d 100644
--- a/Functions/VCS_Info/VCS_INFO_quilt
+++ b/Functions/VCS_Info/VCS_INFO_quilt
@@ -145,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