Skip to content

Commit

Permalink
Add additional testcases for D/F conflicts
Browse files Browse the repository at this point in the history
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Elijah Newren authored and Junio C Hamano committed Jul 9, 2010
1 parent d599e04 commit f15652d
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 4 deletions.
64 changes: 60 additions & 4 deletions t/t6035-merge-dir-to-symlink.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,22 +48,70 @@ test_expect_success 'setup for merge test' '
git tag baseline
'

test_expect_success 'do not lose a/b-2/c/d in merge (resolve)' '
test_expect_success 'Handle D/F conflict, do not lose a/b-2/c/d in merge (resolve)' '
git reset --hard &&
git checkout baseline^0 &&
git merge -s resolve master &&
test -h a/b &&
test -f a/b-2/c/d
'

test_expect_failure 'do not lose a/b-2/c/d in merge (recursive)' '
test_expect_failure 'Handle D/F conflict, do not lose a/b-2/c/d in merge (recursive)' '
git reset --hard &&
git checkout baseline^0 &&
git merge -s recursive master &&
test -h a/b &&
test -f a/b-2/c/d
'

test_expect_success 'Handle F/D conflict, do not lose a/b-2/c/d in merge (resolve)' '
git reset --hard &&
git checkout master^0 &&
git merge -s resolve baseline^0 &&
test -h a/b &&
test -f a/b-2/c/d
'

test_expect_failure 'Handle F/D conflict, do not lose a/b-2/c/d in merge (recursive)' '
git reset --hard &&
git checkout master^0 &&
git merge -s recursive baseline^0 &&
test -h a/b &&
test -f a/b-2/c/d
'

test_expect_failure 'do not lose untracked in merge (resolve)' '
git reset --hard &&
git checkout baseline^0 &&
>a/b/c/e &&
test_must_fail git merge -s resolve master &&
test -f a/b/c/e &&
test -f a/b-2/c/d
'

test_expect_success 'do not lose untracked in merge (recursive)' '
git reset --hard &&
git checkout baseline^0 &&
>a/b/c/e &&
test_must_fail git merge -s recursive master &&
test -f a/b/c/e &&
test -f a/b-2/c/d
'

test_expect_success 'do not lose modifications in merge (resolve)' '
git reset --hard &&
git checkout baseline^0 &&
echo more content >>a/b/c/d &&
test_must_fail git merge -s resolve master
'

test_expect_success 'do not lose modifications in merge (recursive)' '
git reset --hard &&
git checkout baseline^0 &&
echo more content >>a/b/c/d &&
test_must_fail git merge -s recursive master
'

test_expect_success 'setup a merge where dir a/b-2 changed to symlink' '
git reset --hard &&
git checkout start^0 &&
Expand All @@ -74,20 +122,28 @@ test_expect_success 'setup a merge where dir a/b-2 changed to symlink' '
git tag test2
'

test_expect_success 'merge should not have conflicts (resolve)' '
test_expect_success 'merge should not have D/F conflicts (resolve)' '
git reset --hard &&
git checkout baseline^0 &&
git merge -s resolve test2 &&
test -h a/b-2 &&
test -f a/b/c/d
'

test_expect_failure 'merge should not have conflicts (recursive)' '
test_expect_failure 'merge should not have D/F conflicts (recursive)' '
git reset --hard &&
git checkout baseline^0 &&
git merge -s recursive test2 &&
test -h a/b-2 &&
test -f a/b/c/d
'

test_expect_failure 'merge should not have F/D conflicts (recursive)' '
git reset --hard &&
git checkout -b foo test2 &&
git merge -s recursive baseline^0 &&
test -h a/b-2 &&
test -f a/b/c/d
'

test_done
24 changes: 24 additions & 0 deletions t/t9350-fast-export.sh
Original file line number Diff line number Diff line change
Expand Up @@ -376,4 +376,28 @@ 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' '
git init dirtosymlink &&
git init result &&
(
cd dirtosymlink &&
mkdir foo &&
mkdir bar &&
echo hello > foo/world &&
echo hello > bar/world &&
git add foo/world bar/world &&
git commit -q -mone &&
git rm -r foo &&
ln -s bar foo &&
git add foo &&
git commit -q -mtwo
) &&
(
cd dirtosymlink &&
git fast-export master -- foo |
(cd ../result && git fast-import --quiet)
) &&
(cd result && git show master:foo)
'

test_done

0 comments on commit f15652d

Please sign in to comment.