[WIP PATCH 06/26] Tweak init/clone to work properly with GIT_HARDENED_SETUP=1
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
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