mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
detached-stash: simplify git stash branch
This patch teaches git stash branch to tolerate stash-like arguments. In particular, a stash is only required if an argument isn't specified and the stash is only dropped if a stash entry reference was specified or implied. The implementation has been simplified by taking advantage of assert_stash_like() and the variables established by parse_flags_and_rev(). Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f276872d89
commit
fb433dc912
17
git-stash.sh
17
git-stash.sh
|
@ -441,20 +441,17 @@ drop_stash () {
|
|||
}
|
||||
|
||||
apply_to_branch () {
|
||||
have_stash || die 'Nothing to apply'
|
||||
|
||||
test -n "$1" || die 'No branch name specified'
|
||||
branch=$1
|
||||
shift 1
|
||||
|
||||
if test -z "$2"
|
||||
then
|
||||
set x "$ref_stash@{0}"
|
||||
fi
|
||||
stash=$2
|
||||
set -- --index "$@"
|
||||
assert_stash_like "$@"
|
||||
|
||||
git checkout -b $branch $stash^ &&
|
||||
apply_stash --index $stash &&
|
||||
drop_stash $stash
|
||||
git checkout -b $branch $REV^ &&
|
||||
apply_stash "$@"
|
||||
|
||||
test -z "$IS_STASH_REF" || drop_stash "$@"
|
||||
}
|
||||
|
||||
PARSE_CACHE='--not-parsed'
|
||||
|
|
Loading…
Reference in a new issue