Merge branch 'js/notes'
[git/gitweb.git] / t / t2300-cd-to-toplevel.sh
blobe42cbfe6c61951c6887a363cb668d26a7adcf20c
1 #!/bin/sh
3 test_description='cd_to_toplevel'
5 . ./test-lib.sh
7 test_cd_to_toplevel () {
8 test_expect_success "$2" '
10 cd '"'$1'"' &&
11 . git-sh-setup &&
12 cd_to_toplevel &&
13 [ "$(unset PWD; /bin/pwd)" = "$TOPLEVEL" ]
18 TOPLEVEL="$(unset PWD; /bin/pwd)/repo"
19 mkdir -p repo/sub/dir
20 mv .git repo/
21 SUBDIRECTORY_OK=1
23 test_cd_to_toplevel repo 'at physical root'
25 test_cd_to_toplevel repo/sub/dir 'at physical subdir'
27 ln -s repo symrepo
28 test_cd_to_toplevel symrepo 'at symbolic root'
30 ln -s repo/sub/dir subdir-link
31 test_cd_to_toplevel subdir-link 'at symbolic subdir'
33 cd repo
34 ln -s sub/dir internal-link
35 test_cd_to_toplevel internal-link 'at internal symbolic subdir'
37 test_done