@matheusbsbs / matheus-bagliano / commits / 3c3b0a0092
Fork 0

t1510: setup case #11

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 3c3b0a00924aeb6a5e5534341299c6dc7824dd49
1 file changed +267
t/t1510-repo-setup.sh
+267
@@ -1300,4 +1300,271 @@ EOF
1300 test_repo 10/sub ../.git
1301 '
1302
1303 +#
1304 +# case #11
1305 +#
1306 +############################################################
1307 +#
1308 +# Input:
1309 +#
1310 +# - GIT_WORK_TREE is set
1311 +# - GIT_DIR is set
1312 +# - core.worktree is not set
1313 +# - .git is a file
1314 +# - core.bare is not set, cwd is outside .git
1315 +#
1316 +# Output:
1317 +#
1318 +# #3 except that git_dir is set by .git file
1319 +
1320 +test_expect_success '#11: setup' '
1321 + unset GIT_DIR GIT_WORK_TREE &&
1322 + mkdir 11 11/sub 11/sub/sub 11.wt 11.wt/sub 11/wt 11/wt/sub &&
1323 + cd 11 &&
1324 + git init &&
1325 + mv .git ../11.git &&
1326 + echo gitdir: ../11.git >.git &&
1327 + cd ..
1328 +'
1329 +
1330 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
1331 + cat >11/expected <<EOF &&
1332 +setup: git_dir: $TRASH_DIRECTORY/11.git
1333 +setup: worktree: $TRASH_DIRECTORY/11
1334 +setup: cwd: $TRASH_DIRECTORY/11
1335 +setup: prefix: (null)
1336 +EOF
1337 + test_repo 11 .git "$TRASH_DIRECTORY/11"
1338 +'
1339 +
1340 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
1341 + cat >11/expected <<EOF &&
1342 +setup: git_dir: $TRASH_DIRECTORY/11.git
1343 +setup: worktree: $TRASH_DIRECTORY/11
1344 +setup: cwd: $TRASH_DIRECTORY/11
1345 +setup: prefix: (null)
1346 +EOF
1347 + test_repo 11 .git .
1348 +'
1349 +
1350 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=root at root' '
1351 + cat >11/expected <<EOF &&
1352 +setup: git_dir: $TRASH_DIRECTORY/11.git
1353 +setup: worktree: $TRASH_DIRECTORY/11
1354 +setup: cwd: $TRASH_DIRECTORY/11
1355 +setup: prefix: (null)
1356 +EOF
1357 + test_repo 11 "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11"
1358 +'
1359 +
1360 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
1361 + cat >11/expected <<EOF &&
1362 +setup: git_dir: $TRASH_DIRECTORY/11.git
1363 +setup: worktree: $TRASH_DIRECTORY/11
1364 +setup: cwd: $TRASH_DIRECTORY/11
1365 +setup: prefix: (null)
1366 +EOF
1367 + test_repo 11 "$TRASH_DIRECTORY/11/.git" .
1368 +'
1369 +
1370 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
1371 + cat >11/sub/sub/expected <<EOF &&
1372 +setup: git_dir: $TRASH_DIRECTORY/11.git
1373 +setup: worktree: $TRASH_DIRECTORY/11
1374 +setup: cwd: $TRASH_DIRECTORY/11
1375 +setup: prefix: sub/sub/
1376 +EOF
1377 + test_repo 11/sub/sub ../../.git "$TRASH_DIRECTORY/11"
1378 +'
1379 +
1380 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
1381 + cat >11/sub/sub/expected <<EOF &&
1382 +setup: git_dir: $TRASH_DIRECTORY/11.git
1383 +setup: worktree: $TRASH_DIRECTORY/11
1384 +setup: cwd: $TRASH_DIRECTORY/11
1385 +setup: prefix: sub/sub/
1386 +EOF
1387 + test_repo 11/sub/sub ../../.git ../..
1388 +'
1389 +
1390 +test_expect_failure '#11: GIT_DIR, GIT_WORKTREE=root in subdir' '
1391 + cat >11/sub/expected <<EOF &&
1392 +setup: git_dir: $TRASH_DIRECTORY/11.git
1393 +setup: worktree: $TRASH_DIRECTORY/11
1394 +setup: cwd: $TRASH_DIRECTORY/11
1395 +setup: prefix: sub/
1396 +EOF
1397 + test_repo 11/sub "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11"
1398 +'
1399 +
1400 +test_expect_failure '#11: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
1401 + cat >11/sub/sub/expected <<EOF &&
1402 +setup: git_dir: $TRASH_DIRECTORY/11.git
1403 +setup: worktree: $TRASH_DIRECTORY/11
1404 +setup: cwd: $TRASH_DIRECTORY/11
1405 +setup: prefix: sub/sub/
1406 +EOF
1407 + test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" ../..
1408 +'
1409 +
1410 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
1411 + cat >11/expected <<EOF &&
1412 +setup: git_dir: $TRASH_DIRECTORY/11.git
1413 +setup: worktree: $TRASH_DIRECTORY/11/wt
1414 +setup: cwd: $TRASH_DIRECTORY/11
1415 +setup: prefix: (null)
1416 +EOF
1417 + test_repo 11 .git "$TRASH_DIRECTORY/11/wt"
1418 +'
1419 +
1420 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
1421 + cat >11/expected <<EOF &&
1422 +setup: git_dir: $TRASH_DIRECTORY/11.git
1423 +setup: worktree: $TRASH_DIRECTORY/11/wt
1424 +setup: cwd: $TRASH_DIRECTORY/11
1425 +setup: prefix: (null)
1426 +EOF
1427 + test_repo 11 .git wt
1428 +'
1429 +
1430 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
1431 + cat >11/expected <<EOF &&
1432 +setup: git_dir: $TRASH_DIRECTORY/11.git
1433 +setup: worktree: $TRASH_DIRECTORY/11/wt
1434 +setup: cwd: $TRASH_DIRECTORY/11
1435 +setup: prefix: (null)
1436 +EOF
1437 + test_repo 11 "$TRASH_DIRECTORY/11/.git" wt
1438 +'
1439 +
1440 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt at root' '
1441 + cat >11/expected <<EOF &&
1442 +setup: git_dir: $TRASH_DIRECTORY/11.git
1443 +setup: worktree: $TRASH_DIRECTORY/11/wt
1444 +setup: cwd: $TRASH_DIRECTORY/11
1445 +setup: prefix: (null)
1446 +EOF
1447 + test_repo 11 "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11/wt"
1448 +'
1449 +
1450 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
1451 + cat >11/sub/sub/expected <<EOF &&
1452 +setup: git_dir: $TRASH_DIRECTORY/11.git
1453 +setup: worktree: $TRASH_DIRECTORY/11/wt
1454 +setup: cwd: $TRASH_DIRECTORY/11/sub/sub
1455 +setup: prefix: (null)
1456 +EOF
1457 + test_repo 11/sub/sub ../../.git "$TRASH_DIRECTORY/11/wt"
1458 +'
1459 +
1460 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
1461 + cat >11/sub/sub/expected <<EOF &&
1462 +setup: git_dir: $TRASH_DIRECTORY/11.git
1463 +setup: worktree: $TRASH_DIRECTORY/11/wt
1464 +setup: cwd: $TRASH_DIRECTORY/11/sub/sub
1465 +setup: prefix: (null)
1466 +EOF
1467 + test_repo 11/sub/sub ../../.git ../../wt
1468 +'
1469 +
1470 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
1471 + cat >11/sub/sub/expected <<EOF &&
1472 +setup: git_dir: $TRASH_DIRECTORY/11.git
1473 +setup: worktree: $TRASH_DIRECTORY/11/wt
1474 +setup: cwd: $TRASH_DIRECTORY/11/sub/sub
1475 +setup: prefix: (null)
1476 +EOF
1477 + test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" ../../wt
1478 +'
1479 +
1480 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
1481 + cat >11/sub/sub/expected <<EOF &&
1482 +setup: git_dir: $TRASH_DIRECTORY/11.git
1483 +setup: worktree: $TRASH_DIRECTORY/11/wt
1484 +setup: cwd: $TRASH_DIRECTORY/11/sub/sub
1485 +setup: prefix: (null)
1486 +EOF
1487 + test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY/11/wt"
1488 +'
1489 +
1490 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
1491 + cat >11/expected <<EOF &&
1492 +setup: git_dir: $TRASH_DIRECTORY/11.git
1493 +setup: worktree: $TRASH_DIRECTORY
1494 +setup: cwd: $TRASH_DIRECTORY
1495 +setup: prefix: 11/
1496 +EOF
1497 + test_repo 11 .git "$TRASH_DIRECTORY"
1498 +'
1499 +
1500 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
1501 + cat >11/expected <<EOF &&
1502 +setup: git_dir: $TRASH_DIRECTORY/11.git
1503 +setup: worktree: $TRASH_DIRECTORY
1504 +setup: cwd: $TRASH_DIRECTORY
1505 +setup: prefix: 11/
1506 +EOF
1507 + test_repo 11 .git ..
1508 +'
1509 +
1510 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
1511 + cat >11/expected <<EOF &&
1512 +setup: git_dir: $TRASH_DIRECTORY/11.git
1513 +setup: worktree: $TRASH_DIRECTORY
1514 +setup: cwd: $TRASH_DIRECTORY
1515 +setup: prefix: 11/
1516 +EOF
1517 + test_repo 11 "$TRASH_DIRECTORY/11/.git" ..
1518 +'
1519 +
1520 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=.. at root' '
1521 + cat >11/expected <<EOF &&
1522 +setup: git_dir: $TRASH_DIRECTORY/11.git
1523 +setup: worktree: $TRASH_DIRECTORY
1524 +setup: cwd: $TRASH_DIRECTORY
1525 +setup: prefix: 11/
1526 +EOF
1527 + test_repo 11 "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY"
1528 +'
1529 +
1530 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
1531 + cat >11/sub/sub/expected <<EOF &&
1532 +setup: git_dir: $TRASH_DIRECTORY/11.git
1533 +setup: worktree: $TRASH_DIRECTORY
1534 +setup: cwd: $TRASH_DIRECTORY
1535 +setup: prefix: 11/sub/sub/
1536 +EOF
1537 + test_repo 11/sub/sub ../../.git "$TRASH_DIRECTORY"
1538 +'
1539 +
1540 +test_expect_failure '#11: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
1541 + cat >11/sub/sub/expected <<EOF &&
1542 +setup: git_dir: $TRASH_DIRECTORY/11.git
1543 +setup: worktree: $TRASH_DIRECTORY
1544 +setup: cwd: $TRASH_DIRECTORY
1545 +setup: prefix: 11/sub/sub/
1546 +EOF
1547 + test_repo 11/sub/sub ../../.git ../../..
1548 +'
1549 +
1550 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
1551 + cat >11/sub/sub/expected <<EOF &&
1552 +setup: git_dir: $TRASH_DIRECTORY/11.git
1553 +setup: worktree: $TRASH_DIRECTORY
1554 +setup: cwd: $TRASH_DIRECTORY
1555 +setup: prefix: 11/sub/sub/
1556 +EOF
1557 + test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" ../../../
1558 +'
1559 +
1560 +test_expect_failure '#11: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
1561 + cat >11/sub/sub/expected <<EOF &&
1562 +setup: git_dir: $TRASH_DIRECTORY/11.git
1563 +setup: worktree: $TRASH_DIRECTORY
1564 +setup: cwd: $TRASH_DIRECTORY
1565 +setup: prefix: 11/sub/sub/
1566 +EOF
1567 + test_repo 11/sub/sub "$TRASH_DIRECTORY/11/.git" "$TRASH_DIRECTORY"
1568 +'
1569 +
1570 test_done