Merge branch 'jc/fail-stash-to-store-non-stash'

Feeding "git stash store" with a random commit that was not created
by "git stash create" now errors out.

* jc/fail-stash-to-store-non-stash:
  stash: be careful what we store
This commit is contained in:
Junio C Hamano 2023-10-23 13:56:37 -07:00
commit 626f689f79
2 changed files with 10 additions and 0 deletions

View File

@ -989,6 +989,12 @@ usage:
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\".";

View File

@ -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 &&