From: Matthieu Moy Date: Sun, 26 Sep 2010 16:28:56 GMT Subject: Re: [PATCH 1/2] sh-setup: Write a new require_clean_work_tree function Message-ID: In-Reply-To: <1285514516-5112-2-git-send-email-artagnon@gmail.com> Ramkumar Ramachandra writes: > + then > + echo >&2 "cannot $1: you have unstaged changes." > + echo >&2 "Please commit or stash them." > + git diff-files --name-status -r --ignore-submodules -- >&2 I totally agree on the idea, and the implementation is OK. On the format of the message, you can try to make it more consistent with other error messages, like: $ git merge branch error: The following untracked working tree files would be overwritten by merge: one two Please move or remove them before you can merge. That would give stg like: echo >&2 "error: The following files have unstaged changes:" git diff-files --name-status -r --ignore-submodules -- >&2 echo >&2 "Please commit or stash them to proceed." (same for the second case) Also, you probably want to give all the error before you "exit 1", hence stg like: error=f ... if then ... error=t fi if then ... error=t fi if [ "$error" = "t" ]; then exit 1 fi -- Matthieu Moy http://www-verimag.imag.fr/~moy/