git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] stash: avoid recursive hard reset on submodules
@ 2019-10-10 23:34 Jakob Jarmar
  2019-10-11  0:11 ` [PATCH v2] " Jakob Jarmar
  0 siblings, 1 reply; 8+ messages in thread
From: Jakob Jarmar @ 2019-10-10 23:34 UTC (permalink / raw)
  To: git

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>
---
 builtin/stash.c     | 2 +-
 git-legacy-stash.sh | 2 +-
 2 files changed, 2 insertions(+), 2 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;
diff --git a/git-legacy-stash.sh b/git-legacy-stash.sh
index f60e9b3e87..07ad4a5459 100755
--- a/git-legacy-stash.sh
+++ b/git-legacy-stash.sh
@@ -370,7 +370,7 @@ push_stash () {
             git diff-index -p --cached --binary HEAD -- "$@" |
             git apply --index -R
         else
-            git reset --hard -q
+            git reset --hard -q --no-recurse-submodules
         fi

         if test "$keep_index" = "t" && test -n "$i_tree"
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-10-15  1:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-10 23:34 [PATCH] stash: avoid recursive hard reset on submodules Jakob Jarmar
2019-10-11  0:11 ` [PATCH v2] " Jakob Jarmar
2019-10-11  6:02   ` Junio C Hamano
2019-10-11 22:24     ` [PATCH v3] " Jakob Jarmar
2019-10-12  1:46       ` Junio C Hamano
2019-10-12 15:24         ` Jakob Jarmar
2019-10-12 15:38         ` [PATCH v4] " Jakob Jarmar
2019-10-15  1:35           ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).