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>
This commit is contained in:
parent
fb433dc912
commit
a9bf09e19d
14
git-stash.sh
14
git-stash.sh
@ -210,19 +210,9 @@ list_stash () {
|
||||
}
|
||||
|
||||
show_stash () {
|
||||
have_stash || die 'No stash found'
|
||||
assert_stash_like "$@"
|
||||
|
||||
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"
|
||||
|
||||
git diff $flags $b_commit $w_commit
|
||||
git diff ${FLAGS:---stat} $b_commit $w_commit
|
||||
}
|
||||
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user