From: Matthieu Moy Date: Wed, 5 Aug 2009 14:56:25 +0000 (+0200) Subject: rebase: consistent error messages for staged and unstaged changes. X-Git-Tag: v1.6.5-rc0~102 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/4cfbe06?hp=18b07930363d54778e616f1b86de8ccd5ebe88fc rebase: consistent error messages for staged and unstaged changes. 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). Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- diff --git a/git-rebase.sh b/git-rebase.sh index 18bc6946cf..3555d17a5d 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