@matheusbsbs / matheus-bagliano / commits / e0d769d1fd
Fork 0

t1510: setup case #31

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed Nov 26, 2010 at 22:32 UTC e0d769d1fda4f66a1c0b99f3f52a25d4f4006162
1 file changed +269
t/t1510-repo-setup.sh
+269
@@ -4260,4 +4260,273 @@ test_expect_failure '#30: at root' '
4260 )
4261 '
4262
4263 +#
4264 +# case #31
4265 +#
4266 +############################################################
4267 +#
4268 +# Input:
4269 +#
4270 +# - GIT_WORK_TREE is set
4271 +# - GIT_DIR is set
4272 +# - core.worktree is set
4273 +# - .git is a file
4274 +# - core.bare is set
4275 +#
4276 +# Output:
4277 +#
4278 +# #23 except git_dir is set according to .git file
4279 +
4280 +test_expect_success '#31: setup' '
4281 + unset GIT_DIR GIT_WORK_TREE &&
4282 + mkdir 31 31/sub 31/sub/sub 31.wt 31.wt/sub 31/wt 31/wt/sub &&
4283 + cd 31 &&
4284 + git init &&
4285 + git config core.bare true &&
4286 + git config core.worktree non-existent &&
4287 + mv .git ../31.git &&
4288 + echo gitdir: ../31.git >.git &&
4289 + cd ..
4290 +'
4291 +
4292 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
4293 + cat >31/expected <<EOF &&
4294 +setup: git_dir: $TRASH_DIRECTORY/31.git
4295 +setup: worktree: $TRASH_DIRECTORY/31
4296 +setup: cwd: $TRASH_DIRECTORY/31
4297 +setup: prefix: (null)
4298 +EOF
4299 + test_repo 31 .git "$TRASH_DIRECTORY/31"
4300 +'
4301 +
4302 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
4303 + cat >31/expected <<EOF &&
4304 +setup: git_dir: $TRASH_DIRECTORY/31.git
4305 +setup: worktree: $TRASH_DIRECTORY/31
4306 +setup: cwd: $TRASH_DIRECTORY/31
4307 +setup: prefix: (null)
4308 +EOF
4309 + test_repo 31 .git .
4310 +'
4311 +
4312 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=root at root' '
4313 + cat >31/expected <<EOF &&
4314 +setup: git_dir: $TRASH_DIRECTORY/31.git
4315 +setup: worktree: $TRASH_DIRECTORY/31
4316 +setup: cwd: $TRASH_DIRECTORY/31
4317 +setup: prefix: (null)
4318 +EOF
4319 + test_repo 31 "$TRASH_DIRECTORY/31/.git" "$TRASH_DIRECTORY/31"
4320 +'
4321 +
4322 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
4323 + cat >31/expected <<EOF &&
4324 +setup: git_dir: $TRASH_DIRECTORY/31.git
4325 +setup: worktree: $TRASH_DIRECTORY/31
4326 +setup: cwd: $TRASH_DIRECTORY/31
4327 +setup: prefix: (null)
4328 +EOF
4329 + test_repo 31 "$TRASH_DIRECTORY/31/.git" .
4330 +'
4331 +
4332 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
4333 + cat >31/sub/sub/expected <<EOF &&
4334 +setup: git_dir: $TRASH_DIRECTORY/31.git
4335 +setup: worktree: $TRASH_DIRECTORY/31
4336 +setup: cwd: $TRASH_DIRECTORY/31
4337 +setup: prefix: sub/sub/
4338 +EOF
4339 + test_repo 31/sub/sub ../../.git "$TRASH_DIRECTORY/31"
4340 +'
4341 +
4342 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
4343 + cat >31/sub/sub/expected <<EOF &&
4344 +setup: git_dir: $TRASH_DIRECTORY/31.git
4345 +setup: worktree: $TRASH_DIRECTORY/31
4346 +setup: cwd: $TRASH_DIRECTORY/31
4347 +setup: prefix: sub/sub/
4348 +EOF
4349 + test_repo 31/sub/sub ../../.git ../..
4350 +'
4351 +
4352 +test_expect_failure '#31: GIT_DIR, GIT_WORKTREE=root in subdir' '
4353 + cat >31/sub/expected <<EOF &&
4354 +setup: git_dir: $TRASH_DIRECTORY/31.git
4355 +setup: worktree: $TRASH_DIRECTORY/31
4356 +setup: cwd: $TRASH_DIRECTORY/31
4357 +setup: prefix: sub/
4358 +EOF
4359 + test_repo 31/sub "$TRASH_DIRECTORY/31/.git" "$TRASH_DIRECTORY/31"
4360 +'
4361 +
4362 +test_expect_failure '#31: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
4363 + cat >31/sub/sub/expected <<EOF &&
4364 +setup: git_dir: $TRASH_DIRECTORY/31.git
4365 +setup: worktree: $TRASH_DIRECTORY/31
4366 +setup: cwd: $TRASH_DIRECTORY/31
4367 +setup: prefix: sub/sub/
4368 +EOF
4369 + test_repo 31/sub/sub "$TRASH_DIRECTORY/31/.git" ../..
4370 +'
4371 +
4372 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
4373 + cat >31/expected <<EOF &&
4374 +setup: git_dir: $TRASH_DIRECTORY/31.git
4375 +setup: worktree: $TRASH_DIRECTORY/31/wt
4376 +setup: cwd: $TRASH_DIRECTORY/31
4377 +setup: prefix: (null)
4378 +EOF
4379 + test_repo 31 .git "$TRASH_DIRECTORY/31/wt"
4380 +'
4381 +
4382 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
4383 + cat >31/expected <<EOF &&
4384 +setup: git_dir: $TRASH_DIRECTORY/31.git
4385 +setup: worktree: $TRASH_DIRECTORY/31/wt
4386 +setup: cwd: $TRASH_DIRECTORY/31
4387 +setup: prefix: (null)
4388 +EOF
4389 + test_repo 31 .git wt
4390 +'
4391 +
4392 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
4393 + cat >31/expected <<EOF &&
4394 +setup: git_dir: $TRASH_DIRECTORY/31.git
4395 +setup: worktree: $TRASH_DIRECTORY/31/wt
4396 +setup: cwd: $TRASH_DIRECTORY/31
4397 +setup: prefix: (null)
4398 +EOF
4399 + test_repo 31 "$TRASH_DIRECTORY/31/.git" wt
4400 +'
4401 +
4402 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=wt at root' '
4403 + cat >31/expected <<EOF &&
4404 +setup: git_dir: $TRASH_DIRECTORY/31.git
4405 +setup: worktree: $TRASH_DIRECTORY/31/wt
4406 +setup: cwd: $TRASH_DIRECTORY/31
4407 +setup: prefix: (null)
4408 +EOF
4409 + test_repo 31 "$TRASH_DIRECTORY/31/.git" "$TRASH_DIRECTORY/31/wt"
4410 +'
4411 +
4412 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
4413 + cat >31/sub/sub/expected <<EOF &&
4414 +setup: git_dir: $TRASH_DIRECTORY/31.git
4415 +setup: worktree: $TRASH_DIRECTORY/31/wt
4416 +setup: cwd: $TRASH_DIRECTORY/31/sub/sub
4417 +setup: prefix: (null)
4418 +EOF
4419 + test_repo 31/sub/sub ../../.git "$TRASH_DIRECTORY/31/wt"
4420 +'
4421 +
4422 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
4423 + cat >31/sub/sub/expected <<EOF &&
4424 +setup: git_dir: $TRASH_DIRECTORY/31.git
4425 +setup: worktree: $TRASH_DIRECTORY/31/wt
4426 +setup: cwd: $TRASH_DIRECTORY/31/sub/sub
4427 +setup: prefix: (null)
4428 +EOF
4429 + test_repo 31/sub/sub ../../.git ../../wt
4430 +'
4431 +
4432 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
4433 + cat >31/sub/sub/expected <<EOF &&
4434 +setup: git_dir: $TRASH_DIRECTORY/31.git
4435 +setup: worktree: $TRASH_DIRECTORY/31/wt
4436 +setup: cwd: $TRASH_DIRECTORY/31/sub/sub
4437 +setup: prefix: (null)
4438 +EOF
4439 + test_repo 31/sub/sub "$TRASH_DIRECTORY/31/.git" ../../wt
4440 +'
4441 +
4442 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
4443 + cat >31/sub/sub/expected <<EOF &&
4444 +setup: git_dir: $TRASH_DIRECTORY/31.git
4445 +setup: worktree: $TRASH_DIRECTORY/31/wt
4446 +setup: cwd: $TRASH_DIRECTORY/31/sub/sub
4447 +setup: prefix: (null)
4448 +EOF
4449 + test_repo 31/sub/sub "$TRASH_DIRECTORY/31/.git" "$TRASH_DIRECTORY/31/wt"
4450 +'
4451 +
4452 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
4453 + cat >31/expected <<EOF &&
4454 +setup: git_dir: $TRASH_DIRECTORY/31.git
4455 +setup: worktree: $TRASH_DIRECTORY
4456 +setup: cwd: $TRASH_DIRECTORY
4457 +setup: prefix: 31/
4458 +EOF
4459 + test_repo 31 .git "$TRASH_DIRECTORY"
4460 +'
4461 +
4462 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
4463 + cat >31/expected <<EOF &&
4464 +setup: git_dir: $TRASH_DIRECTORY/31.git
4465 +setup: worktree: $TRASH_DIRECTORY
4466 +setup: cwd: $TRASH_DIRECTORY
4467 +setup: prefix: 31/
4468 +EOF
4469 + test_repo 31 .git ..
4470 +'
4471 +
4472 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
4473 + cat >31/expected <<EOF &&
4474 +setup: git_dir: $TRASH_DIRECTORY/31.git
4475 +setup: worktree: $TRASH_DIRECTORY
4476 +setup: cwd: $TRASH_DIRECTORY
4477 +setup: prefix: 31/
4478 +EOF
4479 + test_repo 31 "$TRASH_DIRECTORY/31/.git" ..
4480 +'
4481 +
4482 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=.. at root' '
4483 + cat >31/expected <<EOF &&
4484 +setup: git_dir: $TRASH_DIRECTORY/31.git
4485 +setup: worktree: $TRASH_DIRECTORY
4486 +setup: cwd: $TRASH_DIRECTORY
4487 +setup: prefix: 31/
4488 +EOF
4489 + test_repo 31 "$TRASH_DIRECTORY/31/.git" "$TRASH_DIRECTORY"
4490 +'
4491 +
4492 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
4493 + cat >31/sub/sub/expected <<EOF &&
4494 +setup: git_dir: $TRASH_DIRECTORY/31.git
4495 +setup: worktree: $TRASH_DIRECTORY
4496 +setup: cwd: $TRASH_DIRECTORY
4497 +setup: prefix: 31/sub/sub/
4498 +EOF
4499 + test_repo 31/sub/sub ../../.git "$TRASH_DIRECTORY"
4500 +'
4501 +
4502 +test_expect_failure '#31: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
4503 + cat >31/sub/sub/expected <<EOF &&
4504 +setup: git_dir: $TRASH_DIRECTORY/31.git
4505 +setup: worktree: $TRASH_DIRECTORY
4506 +setup: cwd: $TRASH_DIRECTORY
4507 +setup: prefix: 31/sub/sub/
4508 +EOF
4509 + test_repo 31/sub/sub ../../.git ../../..
4510 +'
4511 +
4512 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
4513 + cat >31/sub/sub/expected <<EOF &&
4514 +setup: git_dir: $TRASH_DIRECTORY/31.git
4515 +setup: worktree: $TRASH_DIRECTORY
4516 +setup: cwd: $TRASH_DIRECTORY
4517 +setup: prefix: 31/sub/sub/
4518 +EOF
4519 + test_repo 31/sub/sub "$TRASH_DIRECTORY/31/.git" ../../../
4520 +'
4521 +
4522 +test_expect_failure '#31: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
4523 + cat >31/sub/sub/expected <<EOF &&
4524 +setup: git_dir: $TRASH_DIRECTORY/31.git
4525 +setup: worktree: $TRASH_DIRECTORY
4526 +setup: cwd: $TRASH_DIRECTORY
4527 +setup: prefix: 31/sub/sub/
4528 +EOF
4529 + test_repo 31/sub/sub "$TRASH_DIRECTORY/31/.git" "$TRASH_DIRECTORY"
4530 +'
4531 +
4532 test_done