summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2018-10-02 15:20:53 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2018-10-07 15:05:17 +0000
commit0c00eed4c77aee7af64e9272bfd1cddb8663e477 (patch)
tree295be723ec9f7fdc0b4c362b21adcd4b7d5ac490
parenta27fad1ae2c87bdb4861005719fd7db86827344c (diff)
downloadzsh-0c00eed4c77aee7af64e9272bfd1cddb8663e477.tar.gz
zsh-0c00eed4c77aee7af64e9272bfd1cddb8663e477.zip
43588: vcs_info git: Make sure applied-patches is of the form "$hash $subject" --- that is, has a space and a non-empty second argument --- even with future 'git rebase -i' verbs.
Use of '?' is consistent with these precedents: Backends/VCS_INFO_get_data_git:220: printf -v "git_patches_applied[$p]" "%04d ?" "$p" Backends/VCS_INFO_get_data_git:242: git_patches_applied+=("? $subject") Backends/VCS_INFO_get_data_git:244: git_patches_applied+=("?") VCS_INFO_quilt:160: applied[$i]+=" ?" VCS_INFO_quilt:168: unapplied[$i]+=" ?"
-rw-r--r--ChangeLog5
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_git5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0191b3164..f6d0af294 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2018-10-07 Daniel Shahaf <d.s@daniel.shahaf.name>
+ * 43588: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
+ vcs_info git: Make sure applied-patches is of the form "$hash
+ $subject" --- that is, has a space and a non-empty second
+ argument --- even with future 'git rebase -i' verbs.
+
* 43586: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
vcs_info git: Reformat to minimise next diff. No functional
change.
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
index 892b4741f..087a8a283 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
@@ -203,6 +203,11 @@ elif [[ -d "${gitdir}/rebase-merge" ]]; then
# "$hash $subject", but I hope this counts as making an effort.
p=${p/x /exec }
;;
+ (*)
+ # Forward compatibility with not-yet-existing 'git rebase -i' verbs.
+ if [[ $p != *\ * ]]; then
+ p+=" ?"
+ fi
esac
git_patches_applied+=("$p")
done