diff options
author | David Turner <dturner@twosigma.com> | 2016-11-07 13:31:31 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-11-17 20:25:54 -0800 |
commit | 5423d2e7005eca89481d3137569b2b96b4d133ff (patch) | |
tree | 40cf180af1c7e90518471610df7e269a2adaef18 /t/t3426-rebase-submodule.sh | |
parent | Git 2.11.0-rc1 (diff) | |
download | tgif-5423d2e7005eca89481d3137569b2b96b4d133ff.tar.xz |
submodules: allow empty working-tree dirs in merge/cherry-pick
When a submodule is being merged or cherry-picked into a working
tree that already contains a corresponding empty directory, do not
record a conflict.
One situation where this bug appears is:
- Commit 1 adds a submodule
- Commit 2 removes that submodule and re-adds it into a subdirectory
(sub1 to sub1/sub1).
- Commit 3 adds an unrelated file.
Now the user checks out commit 1 (first deinitializing the submodule),
and attempts to cherry-pick commit 3. Previously, this would fail,
because the incoming submodule sub1/sub1 would falsely conflict with
the empty sub1 directory.
This patch ignores the empty sub1 directory, fixing the bug. We only
ignore the empty directory if the object being emplaced is a
submodule, which expects an empty directory.
Signed-off-by: David Turner <dturner@twosigma.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3426-rebase-submodule.sh')
-rwxr-xr-x | t/t3426-rebase-submodule.sh | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/t/t3426-rebase-submodule.sh b/t/t3426-rebase-submodule.sh index d5b896d445..ebf4f5e4b2 100755 --- a/t/t3426-rebase-submodule.sh +++ b/t/t3426-rebase-submodule.sh @@ -38,9 +38,6 @@ git_rebase_interactive () { git rebase -i "$1" } -KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 -# The real reason "replace directory with submodule" fails is because a -# directory "sub1" exists, but we reuse the suppression added for merge here test_submodule_switch "git_rebase_interactive" test_done |