| #!/bin/sh |
| # |
| # Copyright (c) 2007 Junio C Hamano |
| |
| test_description='git checkout to switch between branches with symlink<->dir' |
| |
| . ./test-lib.sh |
| |
| test_expect_success SYMLINKS setup ' |
| |
| mkdir frotz && |
| echo hello >frotz/filfre && |
| git add frotz/filfre && |
| test_tick && |
| git commit -m "master has file frotz/filfre" && |
| |
| git branch side && |
| |
| echo goodbye >nitfol && |
| git add nitfol && |
| test_tick && |
| git commit -m "master adds file nitfol" && |
| |
| git checkout side && |
| |
| git rm --cached frotz/filfre && |
| mv frotz xyzzy && |
| ln -s xyzzy frotz && |
| git add xyzzy/filfre frotz && |
| test_tick && |
| git commit -m "side moves frotz/ to xyzzy/ and adds frotz->xyzzy/" |
| |
| ' |
| |
| test_expect_success SYMLINKS 'switch from symlink to dir' ' |
| |
| git checkout master |
| |
| ' |
| |
| test_expect_success SYMLINKS 'Remove temporary directories & switch to master' ' |
| rm -fr frotz xyzzy nitfol && |
| git checkout -f master |
| ' |
| |
| test_expect_success SYMLINKS 'switch from dir to symlink' ' |
| |
| git checkout side |
| |
| ' |
| |
| test_done |