summaryrefslogtreecommitdiff
path: root/git-stash.sh
diff options
context:
space:
mode:
authorJon Seymour <jon.seymour@gmail.com>2010-08-21 14:09:02 +1000
committerJunio C Hamano <gitster@pobox.com>2010-08-21 23:51:22 -0700
commita9bf09e19d9ca35e67cd6c5a145fd0e778af82f0 (patch)
treef2855f36feb936494759f358317cfa2e7e533f83 /git-stash.sh
parentfb433dc912ffb64364571750bedde988f29e736b (diff)
downloadgit-a9bf09e19d9ca35e67cd6c5a145fd0e778af82f0.tar.gz
detached-stash: simplify git stash show
This commit refactors git stash show to make use of the assert_stash_like function. git show now dies if the presented argument is non-stash-like. Previous behaviour was to tolerate commits that were not even stash-like. Previously, git stash show would accept stash-like arguments, but only if there was a stash on the stack. Now, git stash accepts stash-like arguments always and only fails if no stash-like argument is specified and there is no stash stack. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-stash.sh')
-rwxr-xr-xgit-stash.sh14
1 files changed, 2 insertions, 12 deletions
diff --git a/git-stash.sh b/git-stash.sh
index ff1edc918b..7ce818bd1b 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -210,19 +210,9 @@ list_stash () {
}
show_stash () {
- have_stash || die 'No stash found'
-
- flags=$(git rev-parse --no-revs --flags "$@")
- if test -z "$flags"
- then
- flags=--stat
- fi
-
- w_commit=$(git rev-parse --quiet --verify --default $ref_stash "$@") &&
- b_commit=$(git rev-parse --quiet --verify "$w_commit^") ||
- die "'$*' is not a stash"
+ assert_stash_like "$@"
- git diff $flags $b_commit $w_commit
+ git diff ${FLAGS:---stat} $b_commit $w_commit
}
#