[PATCH 02/42] Add t1510 and basic rules that run repo setup

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?=
Date: Thursday, October 28, 2010 - 11:48 pm

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 t/t1510-repo-setup.sh |   59 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100755 t/t1510-repo-setup.sh

diff --git a/t/t1510-repo-setup.sh b/t/t1510-repo-setup.sh
new file mode 100755
index 0000000..623807d
--- /dev/null
+++ b/t/t1510-repo-setup.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+test_description='Tests of cwd/prefix/worktree/gitdir setup in all cases'
+
+. ./test-lib.sh
+
+#
+# A few rules for repo setup:
+#
+# 1. GIT_DIR is relative to user's cwd. --git-dir is equivalent to
+#    GIT_DIR.
+#
+# 2. .git file is relative to parent directory. .git file is basically
+#    symlink in disguise. The directory where .git file points to will
+#    become new git_dir.
+#
+# 3. core.worktree is relative to git_dir.
+#
+# 4. GIT_WORK_TREE is relative to user's cwd. --work-tree is
+#    equivalent to GIT_WORK_TREE.
+#
+# 5. GIT_WORK_TREE/core.worktree is only effective if GIT_DIR is set
+#    Uneffective worktree settings should be warned.
+#
+# 6. Effective GIT_WORK_TREE overrides core.worktree and core.bare
+#
+# 7. Effective core.worktree conflicts with core.bare
+#
+# 8. If GIT_DIR is set but neither worktree nor bare setting is given,
+#    original cwd becomes worktree.
+#
+# 9. If .git discovery is done inside a repo, the repo becomes a bare
+#    repo. .git discovery is performed if GIT_DIR is not set.
+#
+# 10. If no worktree is available, cwd remains unchanged, prefix is
+#     NULL.
+#
+# 11. When user's cwd is outside worktree, cwd remains unchanged,
+#     prefix is NULL.
+#
+
+test_repo() {
+	(
+	if [ -n "$1" ]; then cd "$1"; fi &&
+	if [ -f trace ]; then rm trace; fi &&
+	GIT_TRACE="`pwd`/trace" git symbolic-ref HEAD >/dev/null &&
+	grep '^setup: ' trace >result &&
+	test_cmp expected result
+	)
+}
+
+# Bit 0 = GIT_WORK_TREE
+# Bit 1 = GIT_DIR
+# Bit 2 = core.worktree
+# Bit 3 = .git is a file
+# Bit 4 = bare repo
+# Case# = encoding of the above 5 bits
+
+test_done
-- 
1.7.0.2.445.gcbdb3

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/42] repo setup test cases and fixes, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 01/42] builtins: print setup info if repo is found, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 02/42] Add t1510 and basic rules that run repo setup, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 03/42] t1510: setup case #0, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 04/42] t1510: setup case #1, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 05/42] t1510: setup case #2, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 06/42] t1510: setup case #3, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 07/42] t1510: setup case #4, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 08/42] t1510: setup case #5, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 09/42] t1510: setup case #6, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 10/42] t1510: setup case #7, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 11/42] t1510: setup case #8, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 12/42] t1510: setup case #9, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 13/42] t1510: setup case #10, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 14/42] t1510: setup case #11, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 15/42] t1510: setup case #12, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 16/42] t1510: setup case #13, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 17/42] t1510: setup case #14, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 18/42] t1510: setup case #15, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 19/42] t1510: setup case #16, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 20/42] t1510: setup case #17, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 21/42] t1510: setup case #18, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 22/42] t1510: setup case #19, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 23/42] t1510: setup case #20, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 24/42] t1510: setup case #21, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 25/42] t1510: setup case #22, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 26/42] t1510: setup case #23, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 27/42] t1510: setup case #24, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 28/42] t1510: setup case #25, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 29/42] t1510: setup case #26, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 30/42] t1510: setup case #27, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 31/42] t1510: setup case #28, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 32/42] t1510: setup case #29, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 33/42] t1510: setup case #30, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 34/42] t1510: setup case #31, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 35/42] rev-parse: prints --git-dir relative to user ..., =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 36/42] Add git_config_early(), =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 37/42] Use git_config_early() instead of git_config ..., =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 38/42] Remove all logic from get_git_work_tree(), =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 39/42] setup: clean up setup_bare_git_dir(), =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 40/42] setup: clean up setup_discovered_git_dir(), =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 41/42] setup: rework setup_explicit_git_dir(), =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
[PATCH 42/42] t1510: all failed tests are now fixed, =?UTF-8?q?Nguy=E1=BB ..., (Thu Oct 28, 11:48 pm)
Re: [PATCH 42/42] t1510: all failed tests are now fixed, Nguyen Thai Ngoc Duy, (Fri Oct 29, 1:29 am)
Re: [PATCH 00/42] repo setup test cases and fixes, Sverre Rabbelier, (Fri Oct 29, 10:04 am)
Re: [PATCH 35/42] rev-parse: prints --git-dir relative to ..., Sverre Rabbelier, (Fri Oct 29, 10:06 am)
Re: [PATCH 00/42] repo setup test cases and fixes, Jonathan Nieder, (Fri Oct 29, 10:09 am)
Re: [PATCH 38/42] Remove all logic from get_git_work_tree(), Sverre Rabbelier, (Fri Oct 29, 10:09 am)
Re: [PATCH 38/42] Remove all logic from get_git_work_tree(), Nguyen Thai Ngoc Duy, (Fri Oct 29, 9:38 pm)
Re: [PATCH 35/42] rev-parse: prints --git-dir relative to ..., Nguyen Thai Ngoc Duy, (Fri Oct 29, 9:42 pm)
Re: [PATCH 35/42] rev-parse: prints --git-dir relative to ..., Jonathan Nieder, (Sat Oct 30, 12:09 am)
[PATCH 1/9] git-rev-parse.txt: clarify --git-dir, =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 2/9] rev-parse: prints --git-dir relative to user's cwd, =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 3/9] Add git_config_early(), =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 4/9] Use git_config_early() instead of git_config() ..., =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 5/9] setup: limit get_git_work_tree()'s to explicit ..., =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 6/9] setup: clean up setup_bare_git_dir(), =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 7/9] setup: clean up setup_discovered_git_dir(), =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 8/9] setup: rework setup_explicit_git_dir(), =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)
[PATCH 9/9] Remove all logic from get_git_work_tree(), =?UTF-8?q?Nguy=E1=BB ..., (Sun Oct 31, 11:26 pm)