Ramkumar Ramachandra <artagnon@xxxxxxxxx> 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/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html