#!/bin/sh setglobal test_description = ''cd_to_toplevel'' source ./test-lib.sh setglobal EXEC_PATH = $[git --exec-path] test_have_prereq !MINGW || match $EXEC_PATH { with [A-Za-z]:/* setglobal EXEC_PATH = ""/$(EXEC_PATH%%:*)$(EXEC_PATH#?:)"" } proc test_cd_to_toplevel { test_expect_success $3 $2 ' ( cd '"'$1'"' && PATH="$EXEC_PATH:$PATH" && . git-sh-setup && cd_to_toplevel && [ "$(pwd -P)" = "$TOPLEVEL" ] ) ' } setglobal TOPLEVEL = ""$[pwd -P]/repo"" mkdir -p repo/sub/dir mv .git repo/ setglobal SUBDIRECTORY_OK = '1' test_cd_to_toplevel repo 'at physical root' test_cd_to_toplevel repo/sub/dir 'at physical subdir' ln -s repo symrepo !2 >/dev/null test_cd_to_toplevel symrepo 'at symbolic root' SYMLINKS ln -s repo/sub/dir subdir-link !2 >/dev/null test_cd_to_toplevel subdir-link 'at symbolic subdir' SYMLINKS cd repo ln -s sub/dir internal-link !2 >/dev/null test_cd_to_toplevel internal-link 'at internal symbolic subdir' SYMLINKS test_done