t1510: setup case #15
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
f7c85883224600c3027bc2faced0368ccb933c4f
1 file changed
+268
t/t1510-repo-setup.sh
+268
@@ -1957,4 +1957,272 @@ EOF
1957
test_repo 14/sub/sub "$TRASH_DIRECTORY/14/.git"
1958
'
1959
1960
+#
1961
+# case #15
1962
+#
1963
+############################################################
1964
+#
1965
+# Input:
1966
+#
1967
+# - GIT_WORK_TREE is set
1968
+# - GIT_DIR is set
1969
+# - core.worktree is set
1970
+# - .git is a file
1971
+# - core.bare is not set, cwd is outside .git
1972
+#
1973
+# Output:
1974
+#
1975
+# #7 except that git_dir is set by .git file
1976
+
1977
+test_expect_success '#15: setup' '
1978
+ unset GIT_DIR GIT_WORK_TREE &&
1979
+ mkdir 15 15/sub 15/sub/sub 15.wt 15.wt/sub 15/wt 15/wt/sub &&
1980
+ cd 15 &&
1981
+ git init &&
1982
+ git config core.worktree non-existent &&
1983
+ mv .git ../15.git &&
1984
+ echo gitdir: ../15.git >.git &&
1985
+ cd ..
1986
+'
1987
+
1988
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
1989
+ cat >15/expected <<EOF &&
1990
+setup: git_dir: $TRASH_DIRECTORY/15.git
1991
+setup: worktree: $TRASH_DIRECTORY/15
1992
+setup: cwd: $TRASH_DIRECTORY/15
1993
+setup: prefix: (null)
1994
+EOF
1995
+ test_repo 15 .git "$TRASH_DIRECTORY/15"
1996
+'
1997
+
1998
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
1999
+ cat >15/expected <<EOF &&
2000
+setup: git_dir: $TRASH_DIRECTORY/15.git
2001
+setup: worktree: $TRASH_DIRECTORY/15
2002
+setup: cwd: $TRASH_DIRECTORY/15
2003
+setup: prefix: (null)
2004
+EOF
2005
+ test_repo 15 .git .
2006
+'
2007
+
2008
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=root at root' '
2009
+ cat >15/expected <<EOF &&
2010
+setup: git_dir: $TRASH_DIRECTORY/15.git
2011
+setup: worktree: $TRASH_DIRECTORY/15
2012
+setup: cwd: $TRASH_DIRECTORY/15
2013
+setup: prefix: (null)
2014
+EOF
2015
+ test_repo 15 "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15"
2016
+'
2017
+
2018
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
2019
+ cat >15/expected <<EOF &&
2020
+setup: git_dir: $TRASH_DIRECTORY/15.git
2021
+setup: worktree: $TRASH_DIRECTORY/15
2022
+setup: cwd: $TRASH_DIRECTORY/15
2023
+setup: prefix: (null)
2024
+EOF
2025
+ test_repo 15 "$TRASH_DIRECTORY/15/.git" .
2026
+'
2027
+
2028
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
2029
+ cat >15/sub/sub/expected <<EOF &&
2030
+setup: git_dir: $TRASH_DIRECTORY/15.git
2031
+setup: worktree: $TRASH_DIRECTORY/15
2032
+setup: cwd: $TRASH_DIRECTORY/15
2033
+setup: prefix: sub/sub/
2034
+EOF
2035
+ test_repo 15/sub/sub ../../.git "$TRASH_DIRECTORY/15"
2036
+'
2037
+
2038
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
2039
+ cat >15/sub/sub/expected <<EOF &&
2040
+setup: git_dir: $TRASH_DIRECTORY/15.git
2041
+setup: worktree: $TRASH_DIRECTORY/15
2042
+setup: cwd: $TRASH_DIRECTORY/15
2043
+setup: prefix: sub/sub/
2044
+EOF
2045
+ test_repo 15/sub/sub ../../.git ../..
2046
+'
2047
+
2048
+test_expect_failure '#15: GIT_DIR, GIT_WORKTREE=root in subdir' '
2049
+ cat >15/sub/expected <<EOF &&
2050
+setup: git_dir: $TRASH_DIRECTORY/15.git
2051
+setup: worktree: $TRASH_DIRECTORY/15
2052
+setup: cwd: $TRASH_DIRECTORY/15
2053
+setup: prefix: sub/
2054
+EOF
2055
+ test_repo 15/sub "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15"
2056
+'
2057
+
2058
+test_expect_failure '#15: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
2059
+ cat >15/sub/sub/expected <<EOF &&
2060
+setup: git_dir: $TRASH_DIRECTORY/15.git
2061
+setup: worktree: $TRASH_DIRECTORY/15
2062
+setup: cwd: $TRASH_DIRECTORY/15
2063
+setup: prefix: sub/sub/
2064
+EOF
2065
+ test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" ../..
2066
+'
2067
+
2068
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
2069
+ cat >15/expected <<EOF &&
2070
+setup: git_dir: $TRASH_DIRECTORY/15.git
2071
+setup: worktree: $TRASH_DIRECTORY/15/wt
2072
+setup: cwd: $TRASH_DIRECTORY/15
2073
+setup: prefix: (null)
2074
+EOF
2075
+ test_repo 15 .git "$TRASH_DIRECTORY/15/wt"
2076
+'
2077
+
2078
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
2079
+ cat >15/expected <<EOF &&
2080
+setup: git_dir: $TRASH_DIRECTORY/15.git
2081
+setup: worktree: $TRASH_DIRECTORY/15/wt
2082
+setup: cwd: $TRASH_DIRECTORY/15
2083
+setup: prefix: (null)
2084
+EOF
2085
+ test_repo 15 .git wt
2086
+'
2087
+
2088
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
2089
+ cat >15/expected <<EOF &&
2090
+setup: git_dir: $TRASH_DIRECTORY/15.git
2091
+setup: worktree: $TRASH_DIRECTORY/15/wt
2092
+setup: cwd: $TRASH_DIRECTORY/15
2093
+setup: prefix: (null)
2094
+EOF
2095
+ test_repo 15 "$TRASH_DIRECTORY/15/.git" wt
2096
+'
2097
+
2098
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt at root' '
2099
+ cat >15/expected <<EOF &&
2100
+setup: git_dir: $TRASH_DIRECTORY/15.git
2101
+setup: worktree: $TRASH_DIRECTORY/15/wt
2102
+setup: cwd: $TRASH_DIRECTORY/15
2103
+setup: prefix: (null)
2104
+EOF
2105
+ test_repo 15 "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15/wt"
2106
+'
2107
+
2108
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
2109
+ cat >15/sub/sub/expected <<EOF &&
2110
+setup: git_dir: $TRASH_DIRECTORY/15.git
2111
+setup: worktree: $TRASH_DIRECTORY/15/wt
2112
+setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2113
+setup: prefix: (null)
2114
+EOF
2115
+ test_repo 15/sub/sub ../../.git "$TRASH_DIRECTORY/15/wt"
2116
+'
2117
+
2118
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
2119
+ cat >15/sub/sub/expected <<EOF &&
2120
+setup: git_dir: $TRASH_DIRECTORY/15.git
2121
+setup: worktree: $TRASH_DIRECTORY/15/wt
2122
+setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2123
+setup: prefix: (null)
2124
+EOF
2125
+ test_repo 15/sub/sub ../../.git ../../wt
2126
+'
2127
+
2128
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
2129
+ cat >15/sub/sub/expected <<EOF &&
2130
+setup: git_dir: $TRASH_DIRECTORY/15.git
2131
+setup: worktree: $TRASH_DIRECTORY/15/wt
2132
+setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2133
+setup: prefix: (null)
2134
+EOF
2135
+ test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" ../../wt
2136
+'
2137
+
2138
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
2139
+ cat >15/sub/sub/expected <<EOF &&
2140
+setup: git_dir: $TRASH_DIRECTORY/15.git
2141
+setup: worktree: $TRASH_DIRECTORY/15/wt
2142
+setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2143
+setup: prefix: (null)
2144
+EOF
2145
+ test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15/wt"
2146
+'
2147
+
2148
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
2149
+ cat >15/expected <<EOF &&
2150
+setup: git_dir: $TRASH_DIRECTORY/15.git
2151
+setup: worktree: $TRASH_DIRECTORY
2152
+setup: cwd: $TRASH_DIRECTORY
2153
+setup: prefix: 15/
2154
+EOF
2155
+ test_repo 15 .git "$TRASH_DIRECTORY"
2156
+'
2157
+
2158
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
2159
+ cat >15/expected <<EOF &&
2160
+setup: git_dir: $TRASH_DIRECTORY/15.git
2161
+setup: worktree: $TRASH_DIRECTORY
2162
+setup: cwd: $TRASH_DIRECTORY
2163
+setup: prefix: 15/
2164
+EOF
2165
+ test_repo 15 .git ..
2166
+'
2167
+
2168
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
2169
+ cat >15/expected <<EOF &&
2170
+setup: git_dir: $TRASH_DIRECTORY/15.git
2171
+setup: worktree: $TRASH_DIRECTORY
2172
+setup: cwd: $TRASH_DIRECTORY
2173
+setup: prefix: 15/
2174
+EOF
2175
+ test_repo 15 "$TRASH_DIRECTORY/15/.git" ..
2176
+'
2177
+
2178
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=.. at root' '
2179
+ cat >15/expected <<EOF &&
2180
+setup: git_dir: $TRASH_DIRECTORY/15.git
2181
+setup: worktree: $TRASH_DIRECTORY
2182
+setup: cwd: $TRASH_DIRECTORY
2183
+setup: prefix: 15/
2184
+EOF
2185
+ test_repo 15 "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY"
2186
+'
2187
+
2188
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
2189
+ cat >15/sub/sub/expected <<EOF &&
2190
+setup: git_dir: $TRASH_DIRECTORY/15.git
2191
+setup: worktree: $TRASH_DIRECTORY
2192
+setup: cwd: $TRASH_DIRECTORY
2193
+setup: prefix: 15/sub/sub/
2194
+EOF
2195
+ test_repo 15/sub/sub ../../.git "$TRASH_DIRECTORY"
2196
+'
2197
+
2198
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
2199
+ cat >15/sub/sub/expected <<EOF &&
2200
+setup: git_dir: $TRASH_DIRECTORY/15.git
2201
+setup: worktree: $TRASH_DIRECTORY
2202
+setup: cwd: $TRASH_DIRECTORY
2203
+setup: prefix: 15/sub/sub/
2204
+EOF
2205
+ test_repo 15/sub/sub ../../.git ../../..
2206
+'
2207
+
2208
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
2209
+ cat >15/sub/sub/expected <<EOF &&
2210
+setup: git_dir: $TRASH_DIRECTORY/15.git
2211
+setup: worktree: $TRASH_DIRECTORY
2212
+setup: cwd: $TRASH_DIRECTORY
2213
+setup: prefix: 15/sub/sub/
2214
+EOF
2215
+ test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" ../../../
2216
+'
2217
+
2218
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
2219
+ cat >15/sub/sub/expected <<EOF &&
2220
+setup: git_dir: $TRASH_DIRECTORY/15.git
2221
+setup: worktree: $TRASH_DIRECTORY
2222
+setup: cwd: $TRASH_DIRECTORY
2223
+setup: prefix: 15/sub/sub/
2224
+EOF
2225
+ test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY"
2226
+'
2227
+
2228
test_done