Merge branch 'sb/clone-shallow-passthru' into maint
[git] / t / t2300-cd-to-toplevel.sh
1 #!/bin/sh
2
3 test_description='cd_to_toplevel'
4
5 . ./test-lib.sh
6
7 test_cd_to_toplevel () {
8         test_expect_success $3 "$2" '
9                 (
10                         cd '"'$1'"' &&
11                         PATH="$(git --exec-path):$PATH" &&
12                         . git-sh-setup &&
13                         cd_to_toplevel &&
14                         [ "$(pwd -P)" = "$TOPLEVEL" ]
15                 )
16         '
17 }
18
19 TOPLEVEL="$(pwd -P)/repo"
20 mkdir -p repo/sub/dir
21 mv .git repo/
22 SUBDIRECTORY_OK=1
23
24 test_cd_to_toplevel repo 'at physical root'
25
26 test_cd_to_toplevel repo/sub/dir 'at physical subdir'
27
28 ln -s repo symrepo 2>/dev/null
29 test_cd_to_toplevel symrepo 'at symbolic root' SYMLINKS
30
31 ln -s repo/sub/dir subdir-link 2>/dev/null
32 test_cd_to_toplevel subdir-link 'at symbolic subdir' SYMLINKS
33
34 cd repo
35 ln -s sub/dir internal-link 2>/dev/null
36 test_cd_to_toplevel internal-link 'at internal symbolic subdir' SYMLINKS
37
38 test_done