зеркало из https://github.com/microsoft/git.git
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:
Родитель
fb433dc912
Коммит
a9bf09e19d
14
git-stash.sh
14
git-stash.sh
|
@ -210,19 +210,9 @@ list_stash () {
|
||||||
}
|
}
|
||||||
|
|
||||||
show_stash () {
|
show_stash () {
|
||||||
have_stash || die 'No stash found'
|
assert_stash_like "$@"
|
||||||
|
|
||||||
flags=$(git rev-parse --no-revs --flags "$@")
|
git diff ${FLAGS:---stat} $b_commit $w_commit
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
Загрузка…
Ссылка в новой задаче