about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_git4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index fa59d44e6..183db5dd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2020-03-15  Daniel Shahaf  <danielsh@apache.org>
 
+	* 45546: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
+	vcs_info git: In interactive rebases, properly support the full
+	form of the "exec" verb.
+
 	* 45545: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
 	vcs_info git: In interactive rebases, ignore comment lines.
 
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
index a8f49e24a..d8e5d1ff1 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
@@ -229,11 +229,11 @@ elif [[ -d "${gitdir}/rebase-merge" ]]; then
                         p="${p%% *} ?"
                 fi
                 ;;
-            (x *)
+            ((x|exec) *)
                 # The line is of the form 'exec foo bar baz' where 'foo bar
                 # baz' is a shell command.  There's no way to map _that_ to
                 # "$hash $subject", but I hope this counts as making an effort.
-                p=${p/x /exec }
+                p=${p/#x /exec }
                 ;;
             (*)
                 # Forward compatibility with not-yet-existing 'git rebase -i' verbs.