diff --git a/builtin/stash.c b/builtin/stash.c index 3a4f9fd566d27c..8073ef4019e1aa 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -977,6 +977,12 @@ static int show_stash(int argc, const char **argv, const char *prefix) static int do_store_stash(const struct object_id *w_commit, const char *stash_msg, int quiet) { + struct stash_info info; + char revision[GIT_MAX_HEXSZ]; + + oid_to_hex_r(revision, w_commit); + assert_stash_like(&info, revision); + if (!stash_msg) stash_msg = "Created via \"git stash store\"."; diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index 376cc8f4ab8429..35c8569aeac02c 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -931,6 +931,10 @@ test_expect_success 'store called with invalid commit' ' test_must_fail git stash store foo ' +test_expect_success 'store called with non-stash commit' ' + test_must_fail git stash store HEAD +' + test_expect_success 'store updates stash ref and reflog' ' git stash clear && git reset --hard &&