1#!/bin/sh
   2#
   3# Copyright (c) 2007 Junio C Hamano
   4test_description='git checkout to switch between branches with symlink<->dir'
   6. ./test-lib.sh
   8if ! test_have_prereq SYMLINKS
  10then
  11        say "symbolic links not supported - skipping tests"
  12        test_done
  13fi
  14test_expect_success setup '
  16        mkdir frotz &&
  18        echo hello >frotz/filfre &&
  19        git add frotz/filfre &&
  20        test_tick &&
  21        git commit -m "master has file frotz/filfre" &&
  22        git branch side &&
  24        echo goodbye >nitfol &&
  26        git add nitfol
  27        test_tick &&
  28        git commit -m "master adds file nitfol" &&
  29        git checkout side &&
  31        git rm --cached frotz/filfre &&
  33        mv frotz xyzzy &&
  34        ln -s xyzzy frotz &&
  35        git add xyzzy/filfre frotz &&
  36        test_tick &&
  37        git commit -m "side moves frotz/ to xyzzy/ and adds frotz->xyzzy/"
  38'
  40test_expect_success 'switch from symlink to dir' '
  42        git checkout master
  44'
  46rm -fr frotz xyzzy nitfol &&
  48git checkout -f master || exit
  49test_expect_success 'switch from dir to symlink' '
  51        git checkout side
  53'
  55test_done