mirror of
https://github.com/git/git.git
synced 2024-11-25 10:54:00 +08:00
detached-stash: work around git rev-parse failure to detect bad log refs
This commit is required because git rev-parse in 1.7.2 does not correctly indicate invalid log references using a non-zero status code. We use a proxy for the condition (non-empty error output) as a substitute. This commit can be reverted when, and if, rev-parse is fixed to indicate invalid log references with a status code. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ef763129d1
commit
b0f0ecd979
@ -328,6 +328,15 @@ parse_flags_and_rev()
|
|||||||
test "$ref_stash" = "$(git rev-parse --symbolic-full-name "${REV%@*}")" &&
|
test "$ref_stash" = "$(git rev-parse --symbolic-full-name "${REV%@*}")" &&
|
||||||
IS_STASH_REF=t
|
IS_STASH_REF=t
|
||||||
|
|
||||||
|
if test "${REV}" != "${REV%{*\}}"
|
||||||
|
then
|
||||||
|
# maintainers: it would be better if git rev-parse indicated
|
||||||
|
# this condition with a non-zero status code but as of 1.7.2.1 it
|
||||||
|
# it did not. So, we use non-empty stderr output as a proxy for the
|
||||||
|
# condition of interest.
|
||||||
|
test -z "$(git rev-parse "$REV" 2>&1 >/dev/null)" || die "$REV does not exist in the stash log"
|
||||||
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is_stash_like()
|
is_stash_like()
|
||||||
|
Loading…
Reference in New Issue
Block a user