summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: ffaaed8)
raw | patch | inline | side by side (parent: ffaaed8)
author | Junio C Hamano <gitster@pobox.com> | |
Wed, 24 Aug 2011 18:54:50 +0000 (11:54 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 26 Aug 2011 22:25:41 +0000 (15:25 -0700) |
If "exec $cmd" touched the index or the working tree, and exited with
non-zero status, the code did not check and warn that there now are
uncommitted changes.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
non-zero status, the code did not check and warn that there now are
uncommitted changes.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh | patch | blob | history |
index 5c945060983acb9a2501fae3290a43f4c763b91d..94f36c254c53366ba53d256c0bd50a1de07cdb85 100644 (file)
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.
+ dirty=f
+ (require_clean_work_tree "rebase" 2>/dev/null) || dirty=t
if test "$status" -ne 0
then
warn "Execution failed: $rest"
+ test "$dirty" = f ||
+ warn "and made changes to the index and/or the working tree"
+
warn "You can fix the problem, and then run"
warn
warn " git rebase --continue"
warn
exit "$status"
- fi
- # Run in subshell because require_clean_work_tree can die.
- if ! (require_clean_work_tree "rebase")
+ elif test "$dirty" = t
then
+ warn "Execution succeeded: $rest"
+ warn "but left changes to the index and/or the working tree"
warn "Commit or stash your changes, and then run"
warn
warn " git rebase --continue"