t1510: setup case #2
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
7194660205c39b39badcf555eb76200a80295814
1 file changed
+67
t/t1510-repo-setup.sh
+67
@@ -152,4 +152,71 @@ EOF
152
test_repo 1/sub
153
'
154
155
+#
156
+# case #2
157
+#
158
+############################################################
159
+#
160
+# Input:
161
+#
162
+# - GIT_WORK_TREE is not set
163
+# - GIT_DIR is set
164
+# - core.worktree is not set
165
+# - .git is a directory
166
+# - core.bare is not set, cwd is outside .git
167
+#
168
+# Output:
169
+#
170
+# - worktree is at original cwd
171
+# - cwd is unchanged
172
+# - prefix is NULL
173
+# - git_dir is set to $GIT_DIR
174
+# - cwd can't be outside worktree
175
+
176
+test_expect_success '#2: setup' '
177
+ unset GIT_DIR GIT_WORK_TREE &&
178
+ mkdir 2 2/sub &&
179
+ cd 2 && git init && cd ..
180
+'
181
+
182
+test_expect_success '#2: at root' '
183
+ cat >2/expected <<EOF &&
184
+setup: git_dir: $TRASH_DIRECTORY/2/.git
185
+setup: worktree: $TRASH_DIRECTORY/2
186
+setup: cwd: $TRASH_DIRECTORY/2
187
+setup: prefix: (null)
188
+EOF
189
+ test_repo 2 "$TRASH_DIRECTORY/2/.git"
190
+'
191
+
192
+test_expect_success '#2: in subdir' '
193
+ cat >2/sub/expected <<EOF &&
194
+setup: git_dir: $TRASH_DIRECTORY/2/.git
195
+setup: worktree: $TRASH_DIRECTORY/2/sub
196
+setup: cwd: $TRASH_DIRECTORY/2/sub
197
+setup: prefix: (null)
198
+EOF
199
+ test_repo 2/sub "$TRASH_DIRECTORY/2/.git"
200
+'
201
+
202
+test_expect_success '#2: relative GIT_DIR at root' '
203
+ cat >2/expected <<EOF &&
204
+setup: git_dir: .git
205
+setup: worktree: $TRASH_DIRECTORY/2
206
+setup: cwd: $TRASH_DIRECTORY/2
207
+setup: prefix: (null)
208
+EOF
209
+ test_repo 2 .git
210
+'
211
+
212
+test_expect_success '#2: relative GIT_DIR in subdir' '
213
+ cat >2/sub/expected <<EOF &&
214
+setup: git_dir: ../.git
215
+setup: worktree: $TRASH_DIRECTORY/2/sub
216
+setup: cwd: $TRASH_DIRECTORY/2/sub
217
+setup: prefix: (null)
218
+EOF
219
+ test_repo 2/sub ../.git
220
+'
221
+
222
test_done