[WIP PATCH 06/26] Tweak init/clone to work properly with GIT_HARDENED_SETUP=1
From: Nguyễn Thái Ngọc Duy <hidden>
Date: 2016-06-15 22:48:17
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Nguyễn Thái Ngọc Duy <redacted> --- builtin-init-db.c | 4 ++++ t/t0000-basic.sh | 2 ++ t/t0001-init.sh | 2 ++ t/t0003-attributes.sh | 2 ++ t/t5600-clone-fail-cleanup.sh | 2 ++ t/t5601-clone.sh | 2 ++ t/t5602-clone-remote-exec.sh | 2 ++ t/t5700-clone-reference.sh | 2 ++ t/t5701-clone-local.sh | 2 ++ t/t5702-clone-options.sh | 2 ++ t/t5704-bundle.sh | 2 ++ t/t5705-clone-2gb.sh | 2 ++ t/t5706-clone-branch.sh | 2 ++ 13 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/builtin-init-db.c b/builtin-init-db.c
index dd84cae..22b2b07 100644
--- a/builtin-init-db.c
+++ b/builtin-init-db.c@@ -195,6 +195,7 @@ static int create_default_files(const char *template_path) * from it after installing. */ copy_templates(template_path); + startup_info->have_repository = 1; git_config(git_default_config, NULL); is_bare_repository_cfg = init_is_bare_repository;
@@ -286,6 +287,9 @@ int init_db(const char *template_dir, unsigned int flags) char *path; int len, reinit; + /* init_db's caller mush have called set_git_dir() */ + startup_info->have_set_gitdir = 1; + safe_create_dir(get_git_dir(), 0); init_is_bare_repository = is_bare_repository();
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index f4ca4fc..0a4be17 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh@@ -28,6 +28,8 @@ then exit 1 fi +export GIT_HARDENED_SETUP=1 + . ./test-lib.sh ################################################################
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index 5386504..0dd6ffa 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh@@ -4,6 +4,8 @@ test_description='git init' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + check_config () { if test -d "$1" && test -f "$1/config" && test -d "$1/refs" then
diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh
index 1c77192..2ebb345 100755
--- a/t/t0003-attributes.sh
+++ b/t/t0003-attributes.sh@@ -4,6 +4,8 @@ test_description=gitattributes . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + attr_check () { path="$1"
diff --git a/t/t5600-clone-fail-cleanup.sh b/t/t5600-clone-fail-cleanup.sh
index ee06d28..424e6ad 100755
--- a/t/t5600-clone-fail-cleanup.sh
+++ b/t/t5600-clone-fail-cleanup.sh@@ -11,6 +11,8 @@ remove the directory before attempting a clone again.' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + test_expect_success \ 'clone of non-existent source should fail' \ 'test_must_fail git clone foo bar'
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index 2147567..a598f75 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh@@ -4,6 +4,8 @@ test_description=clone . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + test_expect_success setup ' rm -fr .git &&
diff --git a/t/t5602-clone-remote-exec.sh b/t/t5602-clone-remote-exec.sh
index deffdae..a94c528 100755
--- a/t/t5602-clone-remote-exec.sh
+++ b/t/t5602-clone-remote-exec.sh@@ -4,6 +4,8 @@ test_description=clone . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + test_expect_success setup ' echo "#!/bin/sh" > not_ssh echo "echo \"\$*\" > not_ssh_output" >> not_ssh
diff --git a/t/t5700-clone-reference.sh b/t/t5700-clone-reference.sh
index 1c10916..2464f57 100755
--- a/t/t5700-clone-reference.sh
+++ b/t/t5700-clone-reference.sh@@ -6,6 +6,8 @@ test_description='test clone --reference' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + base_dir=`pwd` U=$base_dir/UPLOAD_LOG
diff --git a/t/t5701-clone-local.sh b/t/t5701-clone-local.sh
index 8b4c356..3c3d6ed 100755
--- a/t/t5701-clone-local.sh
+++ b/t/t5701-clone-local.sh@@ -3,6 +3,8 @@ test_description='test local clone' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + D=`pwd` test_expect_success 'preparing origin repository' '
diff --git a/t/t5702-clone-options.sh b/t/t5702-clone-options.sh
index 02cb024..63f59ba 100755
--- a/t/t5702-clone-options.sh
+++ b/t/t5702-clone-options.sh@@ -3,6 +3,8 @@ test_description='basic clone options' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + test_expect_success 'setup' ' mkdir parent &&
diff --git a/t/t5704-bundle.sh b/t/t5704-bundle.sh
index a8f4419..507c838 100755
--- a/t/t5704-bundle.sh
+++ b/t/t5704-bundle.sh@@ -3,6 +3,8 @@ test_description='some bundle related tests' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + test_expect_success 'setup' ' : > file &&
diff --git a/t/t5705-clone-2gb.sh b/t/t5705-clone-2gb.sh
index adfaae8..f63a557 100755
--- a/t/t5705-clone-2gb.sh
+++ b/t/t5705-clone-2gb.sh@@ -3,6 +3,8 @@ test_description='Test cloning a repository larger than 2 gigabyte' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + test -z "$GIT_TEST_CLONE_2GB" && say "Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t" && test_done &&
diff --git a/t/t5706-clone-branch.sh b/t/t5706-clone-branch.sh
index f3f9a76..fbee0d0 100755
--- a/t/t5706-clone-branch.sh
+++ b/t/t5706-clone-branch.sh@@ -3,6 +3,8 @@ test_description='clone --branch option' . ./test-lib.sh +export GIT_HARDENED_SETUP=1 + check_HEAD() { echo refs/heads/"$1" >expect && git symbolic-ref HEAD >actual &&
--
1.7.0.195.g637a2