diff options
author | Jakob Jarmar <jakob.j@gmail.com> | 2019-10-12 17:38:29 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-10-15 10:34:44 +0900 |
commit | 556895d0c8e95a8c2fb41434a5b9bf453e9367f6 (patch) | |
tree | 278790932c8b641264dd1fea63410d9bca5ff056 /builtin/stash.c | |
parent | Git 2.23 (diff) | |
download | tgif-556895d0c8e95a8c2fb41434a5b9bf453e9367f6.tar.xz |
stash: avoid recursive hard reset on submodules
git stash push does not recursively stash submodules, but if
submodule.recurse is set, it may recursively reset --hard them. Having
only the destructive action recurse is likely to be surprising
behaviour, and unlikely to be desirable, so the easiest fix should be to
ensure that the call to git reset --hard never recurses into submodules.
This matches the behavior of check_changes_tracked_files, which ignores
submodules.
Signed-off-by: Jakob Jarmar <jakob@jarmar.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/stash.c')
-rw-r--r-- | builtin/stash.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/stash.c b/builtin/stash.c index b5a301f24d..c986c258f2 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -1383,7 +1383,7 @@ static int do_push_stash(const struct pathspec *ps, const char *stash_msg, int q struct child_process cp = CHILD_PROCESS_INIT; cp.git_cmd = 1; argv_array_pushl(&cp.args, "reset", "--hard", "-q", - NULL); + "--no-recurse-submodules", NULL); if (run_command(&cp)) { ret = -1; goto done; |