#!/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