From: Elijah Newren <newren@xxxxxxxxx> Signed-off-by: Elijah Newren <newren@xxxxxxxxx> --- This is a resend of an earlier patch. Since the previous one wasn't reviewed and didn't make it to pu, I decided to resend it along with the merge-recursive directory/symlink conflict fixes as part of a patch series. fast-import.c | 5 +++++ t/t9350-fast-export.sh | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/fast-import.c b/fast-import.c index 1e5d66e..9a2ecc8 100644 --- a/fast-import.c +++ b/fast-import.c @@ -1528,6 +1528,11 @@ static int tree_content_remove( for (i = 0; i < t->entry_count; i++) { e = t->entries[i]; if (e->name->str_len == n && !strncmp(p, e->name->str_dat, n)) { + if (slash1 && S_ISLNK(e->versions[1].mode)) + /* p was already removed by an earlier change + * of a parent directory to a symlink. + */ + return 1; if (!slash1 || !S_ISDIR(e->versions[1].mode)) goto del_entry; if (!e->tree) diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh index 69179c6..1ee1461 100755 --- a/t/t9350-fast-export.sh +++ b/t/t9350-fast-export.sh @@ -376,7 +376,7 @@ test_expect_success 'tree_tag-obj' 'git fast-export tree_tag-obj' test_expect_success 'tag-obj_tag' 'git fast-export tag-obj_tag' test_expect_success 'tag-obj_tag-obj' 'git fast-export tag-obj_tag-obj' -test_expect_failure 'directory becomes symlink' ' +test_expect_success 'directory becomes symlink' ' git init dirtosymlink && git init result && ( -- 1.7.2.rc0.212.g0c601 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html