summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2007-07-02 00:21:24 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2007-07-01 21:45:13 -0700
commit401de4057ac83d473f8bead9b11d00b6371bd6a0 (patch)
tree3939b8b46531353e8d5368d9f04cf701ba1545db
parentgit-stash: fix "can't shift that many" with no arguments (diff)
downloadtgif-401de4057ac83d473f8bead9b11d00b6371bd6a0.tar.xz
git-stash: don't complain when listing in a repo with no stash
Previously, the git-log invocation would complain if a repo had not had any stashes created in it yet: $ git-init $ git-stash fatal: ambiguous argument 'refs/stash': unknown revision or path not in the working tree. Use '--' to separate paths from revisions Instead, we only call git-log if we actually have a refs/stash. We could alternatively create the ref when any stash command is called, but it's better for the 'list' command to not require write access to the repo. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-stash.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/git-stash.sh b/git-stash.sh
index 7644bd5a23..18d3322ab5 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -76,7 +76,12 @@ save_stash () {
printf >&2 'Saved WIP on %s\n' "$msg"
}
+have_stash () {
+ git-rev-parse --verify $ref_stash >/dev/null 2>&1
+}
+
list_stash () {
+ have_stash || return 0
git-log --pretty=oneline -g "$@" $ref_stash |
sed -n -e 's/^[.0-9a-f]* refs\///p'
}