Browse Source

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>
maint
Jon Seymour 15 years ago committed by Junio C Hamano
parent
commit
a9bf09e19d
  1. 14
      git-stash.sh

14
git-stash.sh

@ -210,19 +210,9 @@ list_stash () { @@ -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
}

#

Loading…
Cancel
Save