[PATCH] rebase: consistent error messages for staged and unstaged changes.
- From
Matthieu Moy <matthieu.moy@imag.fr>
- Date
- Aug 5, 2009, 15:13 UTC
- Message-ID
- <1249485221-10510-1-git-send-email-Matthieu.Moy@imag.fr>
Previous version expose the output of the plumbing update-index to the user, which novice users have difficulty to understand.
We still need to run update-index to refresh the cache (if diff.autorefreshindex is false, git diff won't do it). --- git-rebase.sh | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh index 18bc694..3555d17 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -382,8 +382,10 @@ else fi # The tree must be really really clean. -if ! git update-index --ignore-submodules --refresh; then - die "cannot rebase: you have unstaged changes" +if ! git update-index --ignore-submodules --refresh > /dev/null; then + echo >&2 "cannot rebase: you have unstaged changes" + git diff --name-status -r --ignore-submodules -- >&2 + exit 1 fi diff=$(git diff-index --cached --name-status -r --ignore-submodules HEAD --) case "$diff" in
-- 1.6.4.18.g07a4a.dirty