Skip to content

Commit 09327fd

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

File tree

1 file changed

+266
-0
lines changed

1 file changed

+266
-0
lines changed

t/t1510-repo-setup.sh

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2560,4 +2560,270 @@ EOF
25602560
test_repo 18/sub "$TRASH_DIRECTORY/18/.git"
25612561
'
25622562

2563+
#
2564+
# case #19
2565+
#
2566+
############################################################
2567+
#
2568+
# Input:
2569+
#
2570+
# - GIT_WORK_TREE is set
2571+
# - GIT_DIR is set
2572+
# - .git is a directory
2573+
# - core.worktree is not set
2574+
# - core.bare is set
2575+
#
2576+
# Output:
2577+
#
2578+
# bare repo is overridden by GIT_WORK_TREE -> #3
2579+
2580+
test_expect_success '#19: setup' '
2581+
unset GIT_DIR GIT_WORK_TREE &&
2582+
mkdir 19 19/sub 19/sub/sub 19.wt 19.wt/sub 19/wt 19/wt/sub &&
2583+
cd 19 &&
2584+
git init &&
2585+
git config core.bare true &&
2586+
cd ..
2587+
'
2588+
2589+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
2590+
cat >19/expected <<EOF &&
2591+
setup: git_dir: .git
2592+
setup: worktree: $TRASH_DIRECTORY/19
2593+
setup: cwd: $TRASH_DIRECTORY/19
2594+
setup: prefix: (null)
2595+
EOF
2596+
test_repo 19 .git "$TRASH_DIRECTORY/19"
2597+
'
2598+
2599+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
2600+
cat >19/expected <<EOF &&
2601+
setup: git_dir: .git
2602+
setup: worktree: $TRASH_DIRECTORY/19
2603+
setup: cwd: $TRASH_DIRECTORY/19
2604+
setup: prefix: (null)
2605+
EOF
2606+
test_repo 19 .git .
2607+
'
2608+
2609+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=root at root' '
2610+
cat >19/expected <<EOF &&
2611+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2612+
setup: worktree: $TRASH_DIRECTORY/19
2613+
setup: cwd: $TRASH_DIRECTORY/19
2614+
setup: prefix: (null)
2615+
EOF
2616+
test_repo 19 "$TRASH_DIRECTORY/19/.git" "$TRASH_DIRECTORY/19"
2617+
'
2618+
2619+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
2620+
cat >19/expected <<EOF &&
2621+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2622+
setup: worktree: $TRASH_DIRECTORY/19
2623+
setup: cwd: $TRASH_DIRECTORY/19
2624+
setup: prefix: (null)
2625+
EOF
2626+
test_repo 19 "$TRASH_DIRECTORY/19/.git" .
2627+
'
2628+
2629+
test_expect_success '#19: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
2630+
cat >19/sub/sub/expected <<EOF &&
2631+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2632+
setup: worktree: $TRASH_DIRECTORY/19
2633+
setup: cwd: $TRASH_DIRECTORY/19
2634+
setup: prefix: sub/sub/
2635+
EOF
2636+
test_repo 19/sub/sub ../../.git "$TRASH_DIRECTORY/19"
2637+
'
2638+
2639+
test_expect_success '#19: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
2640+
cat >19/sub/sub/expected <<EOF &&
2641+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2642+
setup: worktree: $TRASH_DIRECTORY/19
2643+
setup: cwd: $TRASH_DIRECTORY/19
2644+
setup: prefix: sub/sub/
2645+
EOF
2646+
test_repo 19/sub/sub ../../.git ../..
2647+
'
2648+
2649+
test_expect_success '#19: GIT_DIR, GIT_WORKTREE=root in subdir' '
2650+
cat >19/sub/expected <<EOF &&
2651+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2652+
setup: worktree: $TRASH_DIRECTORY/19
2653+
setup: cwd: $TRASH_DIRECTORY/19
2654+
setup: prefix: sub/
2655+
EOF
2656+
test_repo 19/sub "$TRASH_DIRECTORY/19/.git" "$TRASH_DIRECTORY/19"
2657+
'
2658+
2659+
test_expect_success '#19: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
2660+
cat >19/sub/sub/expected <<EOF &&
2661+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2662+
setup: worktree: $TRASH_DIRECTORY/19
2663+
setup: cwd: $TRASH_DIRECTORY/19
2664+
setup: prefix: sub/sub/
2665+
EOF
2666+
test_repo 19/sub/sub "$TRASH_DIRECTORY/19/.git" ../..
2667+
'
2668+
2669+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
2670+
cat >19/expected <<EOF &&
2671+
setup: git_dir: .git
2672+
setup: worktree: $TRASH_DIRECTORY/19/wt
2673+
setup: cwd: $TRASH_DIRECTORY/19
2674+
setup: prefix: (null)
2675+
EOF
2676+
test_repo 19 .git "$TRASH_DIRECTORY/19/wt"
2677+
'
2678+
2679+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
2680+
cat >19/expected <<EOF &&
2681+
setup: git_dir: .git
2682+
setup: worktree: $TRASH_DIRECTORY/19/wt
2683+
setup: cwd: $TRASH_DIRECTORY/19
2684+
setup: prefix: (null)
2685+
EOF
2686+
test_repo 19 .git wt
2687+
'
2688+
2689+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
2690+
cat >19/expected <<EOF &&
2691+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2692+
setup: worktree: $TRASH_DIRECTORY/19/wt
2693+
setup: cwd: $TRASH_DIRECTORY/19
2694+
setup: prefix: (null)
2695+
EOF
2696+
test_repo 19 "$TRASH_DIRECTORY/19/.git" wt
2697+
'
2698+
2699+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=wt at root' '
2700+
cat >19/expected <<EOF &&
2701+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2702+
setup: worktree: $TRASH_DIRECTORY/19/wt
2703+
setup: cwd: $TRASH_DIRECTORY/19
2704+
setup: prefix: (null)
2705+
EOF
2706+
test_repo 19 "$TRASH_DIRECTORY/19/.git" "$TRASH_DIRECTORY/19/wt"
2707+
'
2708+
2709+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
2710+
cat >19/sub/sub/expected <<EOF &&
2711+
setup: git_dir: ../../.git
2712+
setup: worktree: $TRASH_DIRECTORY/19/wt
2713+
setup: cwd: $TRASH_DIRECTORY/19/sub/sub
2714+
setup: prefix: (null)
2715+
EOF
2716+
test_repo 19/sub/sub ../../.git "$TRASH_DIRECTORY/19/wt"
2717+
'
2718+
2719+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
2720+
cat >19/sub/sub/expected <<EOF &&
2721+
setup: git_dir: ../../.git
2722+
setup: worktree: $TRASH_DIRECTORY/19/wt
2723+
setup: cwd: $TRASH_DIRECTORY/19/sub/sub
2724+
setup: prefix: (null)
2725+
EOF
2726+
test_repo 19/sub/sub ../../.git ../../wt
2727+
'
2728+
2729+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
2730+
cat >19/sub/sub/expected <<EOF &&
2731+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2732+
setup: worktree: $TRASH_DIRECTORY/19/wt
2733+
setup: cwd: $TRASH_DIRECTORY/19/sub/sub
2734+
setup: prefix: (null)
2735+
EOF
2736+
test_repo 19/sub/sub "$TRASH_DIRECTORY/19/.git" ../../wt
2737+
'
2738+
2739+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
2740+
cat >19/sub/sub/expected <<EOF &&
2741+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2742+
setup: worktree: $TRASH_DIRECTORY/19/wt
2743+
setup: cwd: $TRASH_DIRECTORY/19/sub/sub
2744+
setup: prefix: (null)
2745+
EOF
2746+
test_repo 19/sub/sub "$TRASH_DIRECTORY/19/.git" "$TRASH_DIRECTORY/19/wt"
2747+
'
2748+
2749+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
2750+
cat >19/expected <<EOF &&
2751+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2752+
setup: worktree: $TRASH_DIRECTORY
2753+
setup: cwd: $TRASH_DIRECTORY
2754+
setup: prefix: 19/
2755+
EOF
2756+
test_repo 19 .git "$TRASH_DIRECTORY"
2757+
'
2758+
2759+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
2760+
cat >19/expected <<EOF &&
2761+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2762+
setup: worktree: $TRASH_DIRECTORY
2763+
setup: cwd: $TRASH_DIRECTORY
2764+
setup: prefix: 19/
2765+
EOF
2766+
test_repo 19 .git ..
2767+
'
2768+
2769+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
2770+
cat >19/expected <<EOF &&
2771+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2772+
setup: worktree: $TRASH_DIRECTORY
2773+
setup: cwd: $TRASH_DIRECTORY
2774+
setup: prefix: 19/
2775+
EOF
2776+
test_repo 19 "$TRASH_DIRECTORY/19/.git" ..
2777+
'
2778+
2779+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=.. at root' '
2780+
cat >19/expected <<EOF &&
2781+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2782+
setup: worktree: $TRASH_DIRECTORY
2783+
setup: cwd: $TRASH_DIRECTORY
2784+
setup: prefix: 19/
2785+
EOF
2786+
test_repo 19 "$TRASH_DIRECTORY/19/.git" "$TRASH_DIRECTORY"
2787+
'
2788+
2789+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
2790+
cat >19/sub/sub/expected <<EOF &&
2791+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2792+
setup: worktree: $TRASH_DIRECTORY
2793+
setup: cwd: $TRASH_DIRECTORY
2794+
setup: prefix: 19/sub/sub/
2795+
EOF
2796+
test_repo 19/sub/sub ../../.git "$TRASH_DIRECTORY"
2797+
'
2798+
2799+
test_expect_success '#19: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
2800+
cat >19/sub/sub/expected <<EOF &&
2801+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2802+
setup: worktree: $TRASH_DIRECTORY
2803+
setup: cwd: $TRASH_DIRECTORY
2804+
setup: prefix: 19/sub/sub/
2805+
EOF
2806+
test_repo 19/sub/sub ../../.git ../../..
2807+
'
2808+
2809+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
2810+
cat >19/sub/sub/expected <<EOF &&
2811+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2812+
setup: worktree: $TRASH_DIRECTORY
2813+
setup: cwd: $TRASH_DIRECTORY
2814+
setup: prefix: 19/sub/sub/
2815+
EOF
2816+
test_repo 19/sub/sub "$TRASH_DIRECTORY/19/.git" ../../../
2817+
'
2818+
2819+
test_expect_success '#19: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
2820+
cat >19/sub/sub/expected <<EOF &&
2821+
setup: git_dir: $TRASH_DIRECTORY/19/.git
2822+
setup: worktree: $TRASH_DIRECTORY
2823+
setup: cwd: $TRASH_DIRECTORY
2824+
setup: prefix: 19/sub/sub/
2825+
EOF
2826+
test_repo 19/sub/sub "$TRASH_DIRECTORY/19/.git" "$TRASH_DIRECTORY"
2827+
'
2828+
25632829
test_done

0 commit comments

Comments
 (0)