diff options
author | Matthieu Moy <Matthieu.Moy@imag.fr> | 2015-10-01 10:18:41 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-10-02 11:36:44 -0700 |
commit | 31bff64100d0864741b57cc44e01a19359573e99 (patch) | |
tree | f01fce4494218f2430043af74e512d5b1633c2ab /git-rebase--interactive.sh | |
parent | git rebase -i: add static check for commands and SHA-1 (diff) | |
download | tgif-31bff64100d0864741b57cc44e01a19359573e99.tar.xz |
rebase-i: explicitly accept tab as separator in commands
The git-rebase-todo is parsed several times with different parsers. In
principle, the user input is normalized by transform_todo_ids and
further parsing can be stricter.
In case the user wrote
pick deadbeef<TAB>commit message
the parser of transform_todo_ids was considering the sha1 to be
"deadbeef<TAB>commit", and was leaving the tab in the transformed sheet.
In practice, this went unnoticed since the actual command interpretation
was done later in do_next which did accept the tab as a separator.
Make it explicit in the code of transform_todo_ids that tabs are
accepted. This way, code that mimicks it will also accept tabs as
separator.
A similar construct appears in skip_unnecessary_picks, but this one
comes after transform_todo_ids, hence reads the normalized format, so it
needs not be changed.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase--interactive.sh')
-rw-r--r-- | git-rebase--interactive.sh | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index dcc3401b5a..51e0e58c67 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -732,8 +732,8 @@ transform_todo_ids () { # that do not have a SHA-1 at the beginning of $rest. ;; *) - sha1=$(git rev-parse --verify --quiet "$@" ${rest%% *}) && - rest="$sha1 ${rest#* }" + sha1=$(git rev-parse --verify --quiet "$@" ${rest%%[ ]*}) && + rest="$sha1 ${rest#*[ ]}" ;; esac printf '%s\n' "$command${rest:+ }$rest" |