create_stash() checks whether HEAD is valid via rev-parse. If this is not the case, both itself as well as rev-parse print an error message. Make rev-parse quiet. In no_changes(), diff-index is called, which dies unquietly if there is no commit. Hide it's stderr. Signed-off-by: Sebastian Morr <sebastian@xxxxxxx> --- This bugged me: In a new, empty repository: $ git stash fatal: bad revision 'HEAD' fatal: bad revision 'HEAD' fatal: Needed a single revision You do not have the initial commit yet With this patch: $ git stash You do not have the initial commit yet With the --quiet option, I wouldn't expect diff-index to print error messages. But it does so (via revision.c, setup_revisions()). Is this wanted? git-stash.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/git-stash.sh b/git-stash.sh index c766692..07b6511 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -34,7 +34,7 @@ else fi no_changes () { - git diff-index --quiet --cached HEAD --ignore-submodules -- && + git diff-index --quiet --cached HEAD --ignore-submodules -- 2>/dev/null && git diff-files --quiet --ignore-submodules && (test -z "$untracked" || test -z "$(untracked_files)") } @@ -67,7 +67,7 @@ create_stash () { fi # state of the base commit - if b_commit=$(git rev-parse --verify HEAD) + if b_commit=$(git rev-parse --quiet --verify HEAD) then head=$(git rev-list --oneline -n 1 HEAD --) else -- 1.7.8.168.gd6118.dirty -- 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