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

Signed-off-by: David Turner <dtur...@twopensource.com>
---
 git-stash.sh | 4 ++--
 refs.c       | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/git-stash.sh b/git-stash.sh
index 8e9e2cd..27155bc 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -184,7 +184,7 @@ store_stash () {
        fi
 
        # Make sure the reflog for stash is kept.
-       : >>"$(git rev-parse --git-path logs/$ref_stash)"
+       git reflog create "$ref_stash"
        git update-ref -m "$stash_msg" $ref_stash $w_commit
        ret=$?
        test $ret != 0 && test -z $quiet &&
@@ -262,7 +262,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
diff --git a/refs.c b/refs.c
index 7b02c45..e11a32b 100644
--- a/refs.c
+++ b/refs.c
@@ -3123,6 +3123,7 @@ static int should_autocreate_reflog(const char *refname)
        return starts_with(refname, "refs/heads/") ||
                starts_with(refname, "refs/remotes/") ||
                starts_with(refname, "refs/notes/") ||
+               !strcmp(refname, "refs/stash") ||
                !strcmp(refname, "HEAD");
 }
 
-- 
2.0.4.314.gdbf7a51-twtrsrc

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to