Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
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>
git-rebase--interactive.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
ffaaed8
)
diff --git
a/git-rebase--interactive.sh
b/git-rebase--interactive.sh
index 5c945060983acb9a2501fae3290a43f4c763b91d..94f36c254c53366ba53d256c0bd50a1de07cdb85 100644
(file)
--- a/
git-rebase--interactive.sh
+++ b/
git-rebase--interactive.sh
@@
-472,18
+472,24
@@
do_next () {
git rev-parse --verify HEAD > "$state_dir"/stopped-sha
${SHELL:-@SHELL_PATH@} -c "$rest" # Actual execution
status=$?
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"
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"
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
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"
warn "Commit or stash your changes, and then run"
warn
warn " git rebase --continue"