- unset GIT_DIR GIT_WORK_TREE &&
- mkdir 11 11/sub 11/sub/sub 11.wt 11.wt/sub 11/wt 11/wt/sub &&
- cd 11 &&
- git init &&
- mv .git ../11.git &&
- echo gitdir: ../11.git >.git &&
- cd ..
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 .git "$TRASH_DIRECTORY/11"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 .git .
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=root at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11"
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 "$TRASH_DIRECTORY/11/.git" .
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: sub/sub/
-EOF
- test_repo 11/sub/sub ../../.git "$TRASH_DIRECTORY/11"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: sub/sub/
-EOF
- test_repo 11/sub/sub ../../.git ../..
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORKTREE=root in subdir' '
- cat >11/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: sub/
-EOF
- test_repo 11/sub "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11"
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: sub/sub/
-EOF
- test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" ../..
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 .git "$TRASH_DIRECTORY/11/wt"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 .git wt
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 "$TRASH_DIRECTORY/11/.git" wt
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11
-setup: prefix: (null)
-EOF
- test_repo 11 "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11/wt"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11/sub/sub
-setup: prefix: (null)
-EOF
- test_repo 11/sub/sub ../../.git "$TRASH_DIRECTORY/11/wt"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11/sub/sub
-setup: prefix: (null)
-EOF
- test_repo 11/sub/sub ../../.git ../../wt
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11/sub/sub
-setup: prefix: (null)
-EOF
- test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" ../../wt
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY/11/wt
-setup: cwd: $TRASH_DIRECTORY/11/sub/sub
-setup: prefix: (null)
-EOF
- test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11/wt"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/
-EOF
- test_repo 11 .git "$TRASH_DIRECTORY"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/
-EOF
- test_repo 11 .git ..
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/
-EOF
- test_repo 11 "$TRASH_DIRECTORY/11/.git" ..
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=.. at root' '
- cat >11/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/
-EOF
- test_repo 11 "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/sub/sub/
-EOF
- test_repo 11/sub/sub ../../.git "$TRASH_DIRECTORY"
-'
-
-test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/sub/sub/
-EOF
- test_repo 11/sub/sub ../../.git ../../..
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/sub/sub/
-EOF
- test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" ../../../
-'
-
-test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
- cat >11/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/11.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 11/sub/sub/
-EOF
- test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY"
-'
-
-#
-# case #12
-#
-############################################################
-#
-# Input:
-#
-# - GIT_WORK_TREE is not set
-# - GIT_DIR is not set
-# - core.worktree is set
-# - .git is a file
-# - core.bare is not set, cwd is outside .git
-#
-# Output:
-#
-# #4 except that git_dir is set by .git file
-
-
-test_expect_success '#12: setup' '
- unset GIT_DIR GIT_WORK_TREE &&
- mkdir 12 12/sub 12/sub/sub 12.wt 12.wt/sub 12/wt 12/wt/sub &&
- cd 12 &&
- git init &&
- git config core.worktree non-existent &&
- mv .git ../12.git &&
- echo gitdir: ../12.git >.git &&
- cd ..
-'
-
-test_expect_failure '#12: at root' '
- cat >12/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/12.git
-setup: worktree: $TRASH_DIRECTORY/12
-setup: cwd: $TRASH_DIRECTORY/12
-setup: prefix: (null)
-EOF
- test_repo 12
-'
-
-test_expect_failure '#12: in subdir' '
- cat >12/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/12.git
-setup: worktree: $TRASH_DIRECTORY/12
-setup: cwd: $TRASH_DIRECTORY/12
-setup: prefix: sub/
-EOF
- test_repo 12/sub
-'
-
-#
-# case #13
-#
-############################################################
-#
-# Input:
-#
-# - GIT_WORK_TREE is set
-# - GIT_DIR is not set
-# - core.worktree is set
-# - .git is a file
-# - core.bare is not set, cwd is outside .git
-#
-# Output:
-#
-# #5 except that git_dir is set by .git file
-
-test_expect_success '#13: setup' '
- unset GIT_DIR GIT_WORK_TREE &&
- mkdir 13 13/sub 13/sub/sub 13.wt 13.wt/sub 13/wt 13/wt/sub &&
- cd 13 &&
- git init &&
- git config core.worktree non-existent &&
- GIT_WORK_TREE=non-existent-too &&
- export GIT_WORK_TREE &&
- mv .git ../13.git &&
- echo gitdir: ../13.git >.git &&
- cd ..
-'
-
-test_expect_failure '#13: at root' '
- cat >13/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/13.git
-setup: worktree: $TRASH_DIRECTORY/13
-setup: cwd: $TRASH_DIRECTORY/13
-setup: prefix: (null)
-EOF
- test_repo 13
-'
-
-test_expect_failure '#13: in subdir' '
- cat >13/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/13.git
-setup: worktree: $TRASH_DIRECTORY/13
-setup: cwd: $TRASH_DIRECTORY/13
-setup: prefix: sub/
-EOF
- test_repo 13/sub
-'
-
-#
-# case #14
-#
-############################################################
-#
-# Input:
-#
-# - GIT_WORK_TREE is not set
-# - GIT_DIR is set
-# - core.worktree is set
-# - .git is a file
-# - core.bare is not set, cwd is outside .git
-#
-# Output:
-#
-# #6 except that git_dir is set by .git file
-
-test_expect_success '#14: setup' '
- unset GIT_DIR GIT_WORK_TREE &&
- mkdir 14 14/sub 14/sub/sub 14.wt 14.wt/sub 14/wt 14/wt/sub &&
- cd 14 &&
- git init &&
- mv .git ../14.git &&
- echo gitdir: ../14.git >.git &&
- cd ..
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14 at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14" &&
- test_repo 14 .git
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14(rel) at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14 &&
- test_repo 14 .git
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14 at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14" &&
- test_repo 14 "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14(rel) at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14 &&
- test_repo 14 "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14 in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: sub/sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14" &&
- test_repo 14/sub/sub ../../.git
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14(rel) in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: sub/sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14 &&
- test_repo 14/sub/sub ../../.git
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14 in subdir' '
- cat >14/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14" &&
- test_repo 14/sub "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14(rel) in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: sub/sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14 &&
- test_repo 14/sub/sub "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14/wt at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14/wt" &&
- test_repo 14 .git
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14/wt(rel) at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14/wt &&
- test_repo 14 .git
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14/wt(rel) at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14/wt &&
- test_repo 14 "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14/wt at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14/wt" &&
- test_repo 14 "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14/wt in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14/sub/sub
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14/wt" &&
- test_repo 14/sub/sub ../../.git
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=../14/wt(rel) in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14/sub/sub
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14/wt &&
- test_repo 14/sub/sub ../../.git
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14/wt(rel) in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14/sub/sub
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree ../14/wt &&
- test_repo 14/sub/sub "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=../14/wt in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY/14/wt
-setup: cwd: $TRASH_DIRECTORY/14/sub/sub
-setup: prefix: (null)
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY/14/wt" &&
- test_repo 14/sub/sub "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=.. at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY" &&
- test_repo 14 .git
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=..(rel) at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree .. &&
- test_repo 14 .git
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=..(rel) at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree .. &&
- test_repo 14 "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=.. at root' '
- cat >14/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY" &&
- test_repo 14 "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=.. in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/sub/sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY" &&
- test_repo 14/sub/sub ../../.git
-'
-
-test_expect_failure '#14: GIT_DIR(rel), core.worktree=..(rel) in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/sub/sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree .. &&
- test_repo 14/sub/sub ../../.git
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=..(rel) in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/sub/sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree .. &&
- test_repo 14/sub/sub "$TRASH_DIRECTORY/14/.git"
-'
-
-test_expect_failure '#14: GIT_DIR, core.worktree=.. in subdir' '
- cat >14/sub/sub/expected <<EOF &&
-setup: git_dir: $TRASH_DIRECTORY/14.git
-setup: worktree: $TRASH_DIRECTORY
-setup: cwd: $TRASH_DIRECTORY
-setup: prefix: 14/sub/sub/
-EOF
- git config --file="$TRASH_DIRECTORY/14.git/config" core.worktree "$TRASH_DIRECTORY" &&
- test_repo 14/sub/sub "$TRASH_DIRECTORY/14/.git"
-'
-
-#
-# case #15
-#
-############################################################
-#
-# Input:
-#
-# - GIT_WORK_TREE is set
-# - GIT_DIR is set
-# - core.worktree is set
-# - .git is a file
-# - core.bare is not set, cwd is outside .git
-#
-# Output:
-#
-# #7 except that git_dir is set by .git file
-