Browse Source

git-stash: use update-ref --create-reflog instead of creating files

This is in support of alternate ref backends which don't necessarily
store reflogs as files.

Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
David Turner 10 years ago committed by Junio C Hamano
parent
commit
89dea97334
  1. 6
      git-stash.sh

6
git-stash.sh

@ -183,9 +183,7 @@ store_stash () { @@ -183,9 +183,7 @@ store_stash () {
stash_msg="Created via \"git stash store\"."
fi

# Make sure the reflog for stash is kept.
: >>"$(git rev-parse --git-path logs/$ref_stash)"
git update-ref -m "$stash_msg" $ref_stash $w_commit
git update-ref --create-reflog -m "$stash_msg" $ref_stash $w_commit
ret=$?
test $ret != 0 && test -z $quiet &&
die "$(eval_gettext "Cannot update \$ref_stash with \$w_commit")"
@ -262,7 +260,7 @@ save_stash () { @@ -262,7 +260,7 @@ save_stash () {
say "$(gettext "No local changes to save")"
exit 0
fi
test -f "$(git rev-parse --git-path logs/$ref_stash)" ||
git reflog exists $ref_stash ||
clear_stash || die "$(gettext "Cannot initialize stash")"

create_stash "$stash_msg" $untracked

Loading…
Cancel
Save