Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 9 additions & 46 deletions t/t2000-conflict-when-checking-files-out.sh
Original file line number Diff line number Diff line change
Expand Up @@ -83,59 +83,22 @@ test_expect_success SYMLINKS 'checkout-index -f twice with --prefix' '
# path path3 is occupied by a non-directory. With "-f" it should remove
# the symlink path3 and create directory path3 and file path3/file1.

test_expect_success 'prepare path2/file0 and index' '
test_expect_success 'checkout-index -f resolves symlink conflict on leading path' '
mkdir path2 &&
date >path2/file0 &&
git update-index --add path2/file0
'

test_expect_success 'write tree with path2/file0' '
tree1=$(git write-tree)
'

test_debug 'show_files $tree1'

test_expect_success 'prepare path3/file1 and index' '
git update-index --add path2/file0 &&
tree1=$(git write-tree) &&
mkdir path3 &&
date >path3/file1 &&
git update-index --add path3/file1
'

test_expect_success 'write tree with path3/file1' '
tree2=$(git write-tree)
'

test_debug 'show_files $tree2'

test_expect_success 'read previously written tree and checkout.' '
git update-index --add path3/file1 &&
tree2=$(git write-tree) &&
rm -fr path3 &&
git read-tree -m $tree1 &&
git checkout-index -f -a
'

test_debug 'show_files $tree1'

test_expect_success 'add a symlink' '
test_ln_s_add path2 path3
'

test_expect_success 'write tree with symlink path3' '
tree3=$(git write-tree)
'

test_debug 'show_files $tree3'

# Morten says "Got that?" here.
# Test begins.

test_expect_success 'read previously written tree and checkout.' '
git checkout-index -f -a &&
test_ln_s_add path2 path3 &&
tree3=$(git write-tree) &&
git read-tree $tree2 &&
git checkout-index -f -a
'

test_debug 'show_files $tree2'

test_expect_success 'checking out conflicting path with -f' '
git checkout-index -f -a &&
test_path_is_dir_not_symlink path2 &&
test_path_is_dir_not_symlink path3 &&
test_path_is_file_not_symlink path2/file0 &&
Expand Down
Loading