Skip to content

Commit 00bc13a

Browse files
pcloudsgitster
authored andcommitted
t1510: setup case #27
Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent cdcef7d commit 00bc13a

File tree

1 file changed

+268
-0
lines changed

1 file changed

+268
-0
lines changed

t/t1510-repo-setup.sh

Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3854,4 +3854,272 @@ EOF
38543854
test_repo 26/sub "$TRASH_DIRECTORY/26/.git"
38553855
'
38563856

3857+
#
3858+
# case #27
3859+
#
3860+
############################################################
3861+
#
3862+
# Input:
3863+
#
3864+
# - GIT_WORK_TREE is set
3865+
# - GIT_DIR is set
3866+
# - .git is a file
3867+
# - core.worktree is not set
3868+
# - core.bare is set
3869+
#
3870+
# Output:
3871+
#
3872+
# #19 except git_dir is set according to .git file
3873+
3874+
test_expect_success '#27: setup' '
3875+
unset GIT_DIR GIT_WORK_TREE &&
3876+
mkdir 27 27/sub 27/sub/sub 27.wt 27.wt/sub 27/wt 27/wt/sub &&
3877+
cd 27 &&
3878+
git init &&
3879+
git config core.bare true &&
3880+
mv .git ../27.git &&
3881+
echo gitdir: ../27.git >.git &&
3882+
cd ..
3883+
'
3884+
3885+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
3886+
cat >27/expected <<EOF &&
3887+
setup: git_dir: $TRASH_DIRECTORY/27.git
3888+
setup: worktree: $TRASH_DIRECTORY/27
3889+
setup: cwd: $TRASH_DIRECTORY/27
3890+
setup: prefix: (null)
3891+
EOF
3892+
test_repo 27 .git "$TRASH_DIRECTORY/27"
3893+
'
3894+
3895+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
3896+
cat >27/expected <<EOF &&
3897+
setup: git_dir: $TRASH_DIRECTORY/27.git
3898+
setup: worktree: $TRASH_DIRECTORY/27
3899+
setup: cwd: $TRASH_DIRECTORY/27
3900+
setup: prefix: (null)
3901+
EOF
3902+
test_repo 27 .git .
3903+
'
3904+
3905+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=root at root' '
3906+
cat >27/expected <<EOF &&
3907+
setup: git_dir: $TRASH_DIRECTORY/27.git
3908+
setup: worktree: $TRASH_DIRECTORY/27
3909+
setup: cwd: $TRASH_DIRECTORY/27
3910+
setup: prefix: (null)
3911+
EOF
3912+
test_repo 27 "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27"
3913+
'
3914+
3915+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
3916+
cat >27/expected <<EOF &&
3917+
setup: git_dir: $TRASH_DIRECTORY/27.git
3918+
setup: worktree: $TRASH_DIRECTORY/27
3919+
setup: cwd: $TRASH_DIRECTORY/27
3920+
setup: prefix: (null)
3921+
EOF
3922+
test_repo 27 "$TRASH_DIRECTORY/27/.git" .
3923+
'
3924+
3925+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
3926+
cat >27/sub/sub/expected <<EOF &&
3927+
setup: git_dir: $TRASH_DIRECTORY/27.git
3928+
setup: worktree: $TRASH_DIRECTORY/27
3929+
setup: cwd: $TRASH_DIRECTORY/27
3930+
setup: prefix: sub/sub/
3931+
EOF
3932+
test_repo 27/sub/sub ../../.git "$TRASH_DIRECTORY/27"
3933+
'
3934+
3935+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
3936+
cat >27/sub/sub/expected <<EOF &&
3937+
setup: git_dir: $TRASH_DIRECTORY/27.git
3938+
setup: worktree: $TRASH_DIRECTORY/27
3939+
setup: cwd: $TRASH_DIRECTORY/27
3940+
setup: prefix: sub/sub/
3941+
EOF
3942+
test_repo 27/sub/sub ../../.git ../..
3943+
'
3944+
3945+
test_expect_failure '#27: GIT_DIR, GIT_WORKTREE=root in subdir' '
3946+
cat >27/sub/expected <<EOF &&
3947+
setup: git_dir: $TRASH_DIRECTORY/27.git
3948+
setup: worktree: $TRASH_DIRECTORY/27
3949+
setup: cwd: $TRASH_DIRECTORY/27
3950+
setup: prefix: sub/
3951+
EOF
3952+
test_repo 27/sub "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27"
3953+
'
3954+
3955+
test_expect_failure '#27: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
3956+
cat >27/sub/sub/expected <<EOF &&
3957+
setup: git_dir: $TRASH_DIRECTORY/27.git
3958+
setup: worktree: $TRASH_DIRECTORY/27
3959+
setup: cwd: $TRASH_DIRECTORY/27
3960+
setup: prefix: sub/sub/
3961+
EOF
3962+
test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" ../..
3963+
'
3964+
3965+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
3966+
cat >27/expected <<EOF &&
3967+
setup: git_dir: $TRASH_DIRECTORY/27.git
3968+
setup: worktree: $TRASH_DIRECTORY/27/wt
3969+
setup: cwd: $TRASH_DIRECTORY/27
3970+
setup: prefix: (null)
3971+
EOF
3972+
test_repo 27 .git "$TRASH_DIRECTORY/27/wt"
3973+
'
3974+
3975+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
3976+
cat >27/expected <<EOF &&
3977+
setup: git_dir: $TRASH_DIRECTORY/27.git
3978+
setup: worktree: $TRASH_DIRECTORY/27/wt
3979+
setup: cwd: $TRASH_DIRECTORY/27
3980+
setup: prefix: (null)
3981+
EOF
3982+
test_repo 27 .git wt
3983+
'
3984+
3985+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
3986+
cat >27/expected <<EOF &&
3987+
setup: git_dir: $TRASH_DIRECTORY/27.git
3988+
setup: worktree: $TRASH_DIRECTORY/27/wt
3989+
setup: cwd: $TRASH_DIRECTORY/27
3990+
setup: prefix: (null)
3991+
EOF
3992+
test_repo 27 "$TRASH_DIRECTORY/27/.git" wt
3993+
'
3994+
3995+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt at root' '
3996+
cat >27/expected <<EOF &&
3997+
setup: git_dir: $TRASH_DIRECTORY/27.git
3998+
setup: worktree: $TRASH_DIRECTORY/27/wt
3999+
setup: cwd: $TRASH_DIRECTORY/27
4000+
setup: prefix: (null)
4001+
EOF
4002+
test_repo 27 "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27/wt"
4003+
'
4004+
4005+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
4006+
cat >27/sub/sub/expected <<EOF &&
4007+
setup: git_dir: $TRASH_DIRECTORY/27.git
4008+
setup: worktree: $TRASH_DIRECTORY/27/wt
4009+
setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4010+
setup: prefix: (null)
4011+
EOF
4012+
test_repo 27/sub/sub ../../.git "$TRASH_DIRECTORY/27/wt"
4013+
'
4014+
4015+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
4016+
cat >27/sub/sub/expected <<EOF &&
4017+
setup: git_dir: $TRASH_DIRECTORY/27.git
4018+
setup: worktree: $TRASH_DIRECTORY/27/wt
4019+
setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4020+
setup: prefix: (null)
4021+
EOF
4022+
test_repo 27/sub/sub ../../.git ../../wt
4023+
'
4024+
4025+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
4026+
cat >27/sub/sub/expected <<EOF &&
4027+
setup: git_dir: $TRASH_DIRECTORY/27.git
4028+
setup: worktree: $TRASH_DIRECTORY/27/wt
4029+
setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4030+
setup: prefix: (null)
4031+
EOF
4032+
test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" ../../wt
4033+
'
4034+
4035+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
4036+
cat >27/sub/sub/expected <<EOF &&
4037+
setup: git_dir: $TRASH_DIRECTORY/27.git
4038+
setup: worktree: $TRASH_DIRECTORY/27/wt
4039+
setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4040+
setup: prefix: (null)
4041+
EOF
4042+
test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27/wt"
4043+
'
4044+
4045+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
4046+
cat >27/expected <<EOF &&
4047+
setup: git_dir: $TRASH_DIRECTORY/27.git
4048+
setup: worktree: $TRASH_DIRECTORY
4049+
setup: cwd: $TRASH_DIRECTORY
4050+
setup: prefix: 27/
4051+
EOF
4052+
test_repo 27 .git "$TRASH_DIRECTORY"
4053+
'
4054+
4055+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
4056+
cat >27/expected <<EOF &&
4057+
setup: git_dir: $TRASH_DIRECTORY/27.git
4058+
setup: worktree: $TRASH_DIRECTORY
4059+
setup: cwd: $TRASH_DIRECTORY
4060+
setup: prefix: 27/
4061+
EOF
4062+
test_repo 27 .git ..
4063+
'
4064+
4065+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
4066+
cat >27/expected <<EOF &&
4067+
setup: git_dir: $TRASH_DIRECTORY/27.git
4068+
setup: worktree: $TRASH_DIRECTORY
4069+
setup: cwd: $TRASH_DIRECTORY
4070+
setup: prefix: 27/
4071+
EOF
4072+
test_repo 27 "$TRASH_DIRECTORY/27/.git" ..
4073+
'
4074+
4075+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=.. at root' '
4076+
cat >27/expected <<EOF &&
4077+
setup: git_dir: $TRASH_DIRECTORY/27.git
4078+
setup: worktree: $TRASH_DIRECTORY
4079+
setup: cwd: $TRASH_DIRECTORY
4080+
setup: prefix: 27/
4081+
EOF
4082+
test_repo 27 "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY"
4083+
'
4084+
4085+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
4086+
cat >27/sub/sub/expected <<EOF &&
4087+
setup: git_dir: $TRASH_DIRECTORY/27.git
4088+
setup: worktree: $TRASH_DIRECTORY
4089+
setup: cwd: $TRASH_DIRECTORY
4090+
setup: prefix: 27/sub/sub/
4091+
EOF
4092+
test_repo 27/sub/sub ../../.git "$TRASH_DIRECTORY"
4093+
'
4094+
4095+
test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
4096+
cat >27/sub/sub/expected <<EOF &&
4097+
setup: git_dir: $TRASH_DIRECTORY/27.git
4098+
setup: worktree: $TRASH_DIRECTORY
4099+
setup: cwd: $TRASH_DIRECTORY
4100+
setup: prefix: 27/sub/sub/
4101+
EOF
4102+
test_repo 27/sub/sub ../../.git ../../..
4103+
'
4104+
4105+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
4106+
cat >27/sub/sub/expected <<EOF &&
4107+
setup: git_dir: $TRASH_DIRECTORY/27.git
4108+
setup: worktree: $TRASH_DIRECTORY
4109+
setup: cwd: $TRASH_DIRECTORY
4110+
setup: prefix: 27/sub/sub/
4111+
EOF
4112+
test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" ../../../
4113+
'
4114+
4115+
test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
4116+
cat >27/sub/sub/expected <<EOF &&
4117+
setup: git_dir: $TRASH_DIRECTORY/27.git
4118+
setup: worktree: $TRASH_DIRECTORY
4119+
setup: cwd: $TRASH_DIRECTORY
4120+
setup: prefix: 27/sub/sub/
4121+
EOF
4122+
test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY"
4123+
'
4124+
38574125
test_done

0 commit comments

Comments
 (0)