]> git.ipfire.org Git - thirdparty/git.git/commitdiff
git-stash: use update-ref --create-reflog instead of creating files
authorDavid Turner <dturner@twopensource.com>
Tue, 21 Jul 2015 21:04:56 +0000 (17:04 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Jul 2015 21:08:49 +0000 (14:08 -0700)
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>
git-stash.sh

index 8e9e2cd7d5697c1f2b7ccb8753d384d9f4461bef..1d5ba7a4f935fd08572c235b7c5d4390eb8d6528 100755 (executable)
@@ -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 () {
                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