mirror of
https://github.com/git/git.git
synced 2024-10-31 14:27:54 +01:00
Merge branch 'sb/test-cherry-pick-submodule-getting-in-a-way' into maint
The three-way merge performed by "git cherry-pick" was confused when a new submodule was added in the meantime, which has been fixed (or "papered over"). * sb/test-cherry-pick-submodule-getting-in-a-way: merge-recursive: handle addition of submodule on our side of history t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure
This commit is contained in:
commit
2ace172f95
2 changed files with 39 additions and 2 deletions
|
@ -1901,8 +1901,9 @@ static int process_entry(struct merge_options *o,
|
|||
oid = b_oid;
|
||||
conf = _("directory/file");
|
||||
}
|
||||
if (dir_in_way(path, !o->call_depth,
|
||||
S_ISGITLINK(a_mode))) {
|
||||
if (dir_in_way(path,
|
||||
!o->call_depth && !S_ISGITLINK(a_mode),
|
||||
0)) {
|
||||
char *new_path = unique_path(o, path, add_branch);
|
||||
clean_merge = 0;
|
||||
output(o, 1, _("CONFLICT (%s): There is a directory with name %s in %s. "
|
||||
|
|
|
@ -10,4 +10,40 @@ KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
|
|||
KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
|
||||
test_submodule_switch "git cherry-pick"
|
||||
|
||||
test_expect_success 'unrelated submodule/file conflict is ignored' '
|
||||
test_create_repo sub &&
|
||||
|
||||
touch sub/file &&
|
||||
git -C sub add file &&
|
||||
git -C sub commit -m "add a file in a submodule" &&
|
||||
|
||||
test_create_repo a_repo &&
|
||||
(
|
||||
cd a_repo &&
|
||||
>a_file &&
|
||||
git add a_file &&
|
||||
git commit -m "add a file" &&
|
||||
|
||||
git branch test &&
|
||||
git checkout test &&
|
||||
|
||||
mkdir sub &&
|
||||
>sub/content &&
|
||||
git add sub/content &&
|
||||
git commit -m "add a regular folder with name sub" &&
|
||||
|
||||
echo "123" >a_file &&
|
||||
git add a_file &&
|
||||
git commit -m "modify a file" &&
|
||||
|
||||
git checkout master &&
|
||||
|
||||
git submodule add ../sub sub &&
|
||||
git submodule update sub &&
|
||||
git commit -m "add a submodule info folder with name sub" &&
|
||||
|
||||
git cherry-pick test
|
||||
)
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
Loading…
Reference in a new issue