Merge branch 'jt/merge-recursive-symlink-is-not-a-dir-in-way'
A bug in merge-recursive code that triggers when a branch with a symbolic link is merged with a branch that replaces it with a directory has been fixed. * jt/merge-recursive-symlink-is-not-a-dir-in-way: merge-recursive: symlink's descendants not in waymaint
commit
1f4485b219
|
@ -764,7 +764,8 @@ static int dir_in_way(struct index_state *istate, const char *path,
|
||||||
|
|
||||||
strbuf_release(&dirpath);
|
strbuf_release(&dirpath);
|
||||||
return check_working_copy && !lstat(path, &st) && S_ISDIR(st.st_mode) &&
|
return check_working_copy && !lstat(path, &st) && S_ISDIR(st.st_mode) &&
|
||||||
!(empty_ok && is_empty_dir(path));
|
!(empty_ok && is_empty_dir(path)) &&
|
||||||
|
!has_symlink_leading_path(path, strlen(path));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -452,6 +452,34 @@ test_expect_success 'merge-recursive d/f conflict result' '
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success SYMLINKS 'dir in working tree with symlink ancestor does not produce d/f conflict' '
|
||||||
|
git init sym &&
|
||||||
|
(
|
||||||
|
cd sym &&
|
||||||
|
ln -s . foo &&
|
||||||
|
mkdir bar &&
|
||||||
|
>bar/file &&
|
||||||
|
git add foo bar/file &&
|
||||||
|
git commit -m "foo symlink" &&
|
||||||
|
|
||||||
|
git checkout -b branch1 &&
|
||||||
|
git commit --allow-empty -m "empty commit" &&
|
||||||
|
|
||||||
|
git checkout master &&
|
||||||
|
git rm foo &&
|
||||||
|
mkdir foo &&
|
||||||
|
>foo/bar &&
|
||||||
|
git add foo/bar &&
|
||||||
|
git commit -m "replace foo symlink with real foo dir and foo/bar file" &&
|
||||||
|
|
||||||
|
git checkout branch1 &&
|
||||||
|
|
||||||
|
git cherry-pick master &&
|
||||||
|
test_path_is_dir foo &&
|
||||||
|
test_path_is_file foo/bar
|
||||||
|
)
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'reset and 3-way merge' '
|
test_expect_success 'reset and 3-way merge' '
|
||||||
|
|
||||||
git reset --hard "$c2" &&
|
git reset --hard "$c2" &&
|
||||||
|
|
Loading…
Reference in New Issue