about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWGH <wgh@torlan.ru>2020-02-02 07:31:36 +0000
committerDaniel Shahaf <danielsh@apache.org>2020-02-02 07:32:14 +0000
commite71ba9704f86a4a3ec1f0ddabbb1f2296fe421fe (patch)
treeceb560962fc45fe0480f2e6f8a8b8cfe270ce34e
parent581585dfc66e2bb18434cdd1ad2f5899b12a86dd (diff)
downloadzsh-e71ba9704f86a4a3ec1f0ddabbb1f2296fe421fe.tar.gz
zsh-e71ba9704f86a4a3ec1f0ddabbb1f2296fe421fe.tar.xz
zsh-e71ba9704f86a4a3ec1f0ddabbb1f2296fe421fe.zip
45365: _git: Fix __git_recent_branches for the case when a commit has an empty message
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_git4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 95a94db07..698e21592 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2020-02-02  WGH  <wgh@torlan.ru>
+
+	* 45365: Completion/Unix/Command/_git: Fix __git_recent_branches
+	for the case when a commit has an empty message
+
 2020-01-29  Daniel Shahaf  <danielsh@apache.org>
 
 	* 45343: Src/exec.c, Src/math.c: Queue signals around arithmetic
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index ba1852699..97ab26512 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -6662,8 +6662,8 @@ __git_recent_branches() {
 
   # 4. Obtain log messages for all of them in one shot.
   # TODO: we'd really like --sort=none here...  but git doesn't support such a thing.
-  # The \n removal is because for-each-ref prints a \n after each entry.
-  descriptions=( ${(0)"$(_call_program all-descriptions "git --no-pager for-each-ref --format='%(refname)%00%(subject)%00'" refs/heads/${(q)^branches} "--")"//$'\n'} )
+  local z=$'\0'
+  descriptions=( "${(0)"$(_call_program all-descriptions "git --no-pager for-each-ref --format='%(refname)%00%(subject)'" refs/heads/${(q)^branches} "--")"//$'\n'/$z}" )
 
   # 5. Synthesize the data structure _describe wants.
   local -a branches_colon_descriptions