diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-06-01 12:45:20 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-06-01 12:45:20 -0700 |
commit | a6be52e239df4d4a469a5324273f43a0695fe95d (patch) | |
tree | bf0693fead0187040f5db758cf4814beece09d05 /git-rebase--interactive.sh | |
parent | a9d34933803198f89ad721ee17f138b046131090 (diff) | |
parent | 141ff8f9e7a235ab279329ba348e3d88fca4fdab (diff) | |
download | git-a6be52e239df4d4a469a5324273f43a0695fe95d.tar.gz |
Merge branch 'mm/rebase-i-post-rewrite-exec'
"git rebase -i" fired post-rewrite hook when it shouldn't (namely,
when it was told to stop sequencing with 'exec' insn).
* mm/rebase-i-post-rewrite-exec:
t5407: use <<- to align the expected output
rebase -i: fix post-rewrite hook with failed exec command
rebase -i: demonstrate incorrect behavior of post-rewrite
Diffstat (limited to 'git-rebase--interactive.sh')
-rw-r--r-- | git-rebase--interactive.sh | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index bab0dccc04..dc3133f681 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -502,7 +502,7 @@ do_pick () { } do_next () { - rm -f "$msg" "$author_script" "$amend" || exit + rm -f "$msg" "$author_script" "$amend" "$state_dir"/stopped-sha || exit read -r command sha1 rest < "$todo" case "$command" in "$comment_char"*|''|noop) @@ -592,9 +592,6 @@ do_next () { read -r command rest < "$todo" mark_action_done printf 'Executing: %s\n' "$rest" - # "exec" command doesn't take a sha1 in the todo-list. - # => can't just use $sha1 here. - git rev-parse --verify HEAD > "$state_dir"/stopped-sha ${SHELL:-@SHELL_PATH@} -c "$rest" # Actual execution status=$? # Run in subshell because require_clean_work_tree can die. @@ -890,7 +887,10 @@ first and then run 'git rebase --continue' again." fi fi - record_in_rewritten "$(cat "$state_dir"/stopped-sha)" + if test -r "$state_dir"/stopped-sha + then + record_in_rewritten "$(cat "$state_dir"/stopped-sha)" + fi require_clean_work_tree "rebase" do_rest |