* [PATCH] rebase: improve error messages about dirty state
@ 2008-12-10 9:25 Jeff King
0 siblings, 0 replies; only message in thread
From: Jeff King @ 2008-12-10 9:25 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
If you have unstaged changes in your working tree and try to
rebase, you will get the cryptic "foo: needs update"
message, but nothing else. If you have staged changes, you
get "your index is not up-to-date".
Let's improve this situation in two ways:
- for unstaged changes, let's also tell them we are
canceling the rebase, and why (in addition to the "needs
update" lines)
- for the staged changes case, let's use language that is a
little more clear to the user: their index contains
uncommitted changes
Signed-off-by: Jeff King <peff@peff.net>
---
I am cleaning up some old branches, and I think this is worth applying.
It came out of a "rebase's error message is confusing" thread back in
April:
http://thread.gmane.org/gmane.comp.version-control.git/78698
It would be nice also to say "foo: locally modified" instead of "foo:
needs update" but the REFRESH_SAY_CHANGED functionality isn't exposed
via the command line.
git-rebase.sh | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index ea7720d..ebd4df3 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -332,11 +332,14 @@ else
fi
# The tree must be really really clean.
-git update-index --ignore-submodules --refresh || exit
+if ! git update-index --ignore-submodules --refresh; then
+ echo >&2 "cannot rebase: you have unstaged changes"
+ exit 1
+fi
diff=$(git diff-index --cached --name-status -r --ignore-submodules HEAD --)
case "$diff" in
-?*) echo "cannot rebase: your index is not up-to-date"
- echo "$diff"
+?*) echo >&2 "cannot rebase: your index contains uncommitted changes"
+ echo >&2 "$diff"
exit 1
;;
esac
--
1.6.1.rc2.15.g7752a
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2008-12-10 9:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-10 9:25 [PATCH] rebase: improve error messages about dirty state Jeff King
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox