From: Victoria Dye <vdye@xxxxxxxxxx> Change the merge function used in 'do_apply_stash()' from 'merge_recursive' to 'merge_ort_recursive'. In addition to aligning with the default merge strategy used by 'git merge' (6a5fb96672 (Change default merge backend from recursive to ort, 2021-08-04)), this allows 'git stash <apply|pop>' to operate without expanding the index by default. Update tests in 't1092' verifying index expansion for 'git stash' accordingly. Signed-off-by: Victoria Dye <vdye@xxxxxxxxxx> --- builtin/stash.c | 3 ++- t/t1092-sparse-checkout-compatibility.sh | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/builtin/stash.c b/builtin/stash.c index 16171eb1dab..cd77d448546 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -7,6 +7,7 @@ #include "cache-tree.h" #include "unpack-trees.h" #include "merge-recursive.h" +#include "merge-ort-wrappers.h" #include "strvec.h" #include "run-command.h" #include "dir.h" @@ -554,7 +555,7 @@ static int do_apply_stash(const char *prefix, struct stash_info *info, bases[0] = &info->b_tree; ret = merge_recursive_generic(&o, &c_tree, &info->w_tree, 1, bases, - merge_recursive, &result); + merge_ort_recursive, &result); if (ret) { rerere(0); diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh index a8c1c345ab0..8545a865e04 100755 --- a/t/t1092-sparse-checkout-compatibility.sh +++ b/t/t1092-sparse-checkout-compatibility.sh @@ -1377,7 +1377,7 @@ test_expect_success 'sparse-index is not expanded: stash' ' ensure_not_expanded stash && ensure_not_expanded stash list && ensure_not_expanded stash show stash@{0} && - ! ensure_not_expanded stash apply stash@{0} && + ensure_not_expanded stash apply stash@{0} && ensure_not_expanded stash drop stash@{0} && echo >>sparse-index/deep/new && @@ -1391,7 +1391,7 @@ test_expect_success 'sparse-index is not expanded: stash' ' oid=$(git -C sparse-index stash create) && ensure_not_expanded stash store -m "test" $oid && ensure_not_expanded reset --hard && - ! ensure_not_expanded stash pop && + ensure_not_expanded stash pop && ensure_not_expanded checkout-index -f a && ensure_not_expanded checkout-index -f --all && -- gitgitgadget