From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Derrick Stolee" <derrickstolee@github.com>,
"Adam Spiers" <git@adamspiers.org>, "Jeff King" <peff@peff.net>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 01/13] t0001: fix gaps in "TEMPLATE DIRECTORY" coverage
Date: Sun, 12 Dec 2021 21:13:11 +0100 [thread overview]
Message-ID: <patch-01.13-5526d3dc838-20211212T201308Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-00.13-00000000000-20211212T201308Z-avarab@gmail.com>
Add tests to assert that the priority order described in the "TEMPLATE
DIRECTORY" section in the "init" documentation is correct.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
t/t0001-init.sh | 85 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 82 insertions(+), 3 deletions(-)
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index 7603ad2f82b..e0b965cdc8f 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -173,6 +173,55 @@ test_expect_success 'reinit' '
test_must_be_empty again/err2
'
+setup_template_priority() {
+ test_when_finished "rm -rf template" &&
+ mkdir template &&
+ touch template/file &&
+
+ test_when_finished "rm -rf template2" &&
+ mkdir template2 &&
+ touch template2/file2 &&
+
+ # Created by the caller
+ test_when_finished "rm -rf repo"
+}
+
+test_expect_success 'usage priority: --template only' '
+ setup_template_priority &&
+ git init --template=template repo &&
+ test_path_is_file repo/.git/file
+'
+
+test_expect_success 'usage priority: --template takes precedence over GIT_TEMPLATE_DIR' '
+ setup_template_priority &&
+ GIT_TEMPLATE_DIR="$PWD/template2" git init --template=template repo &&
+ test_path_is_file repo/.git/file
+'
+
+test_expect_success 'usage priority: --template takes precedence over init.templateDir' '
+ setup_template_priority &&
+ git -c init.templateDir="$PWD/template2" init --template=template repo &&
+ test_path_is_file repo/.git/file
+'
+
+test_expect_success 'usage priority: --no-template takes precedence over init.templateDir' '
+ setup_template_priority &&
+ git -c init.templateDir="$PWD/template" init --no-template repo &&
+ test_path_is_missing repo/.git/file
+'
+
+test_expect_success 'usage priority: --no-template takes precedence over GIT_TEMPLATE_DIR' '
+ setup_template_priority &&
+ GIT_TEMPLATE_DIR="$PWD/template" git init --no-template repo &&
+ test_path_is_missing repo/.git/file
+'
+
+test_expect_success 'usage priority: GIT_NO_TEMPLATE_DIR=true takes precedence over GIT_TEMPLATE_DIR' '
+ setup_template_priority &&
+ GIT_TEMPLATE_DIR="$PWD/template" GIT_NO_TEMPLATE_DIR=true git init repo &&
+ test_path_is_missing repo/.git/file
+'
+
test_expect_success 'init with --template' '
mkdir template-source &&
echo content >template-source/file &&
@@ -187,11 +236,15 @@ test_expect_success 'init with --template (blank)' '
test_path_is_missing template-blank/.git/info/exclude
'
+no_templatedir_env () {
+ sane_unset GIT_TEMPLATE_DIR &&
+ NO_SET_GIT_TEMPLATE_DIR=t &&
+ export NO_SET_GIT_TEMPLATE_DIR
+}
+
init_no_templatedir_env () {
(
- sane_unset GIT_TEMPLATE_DIR &&
- NO_SET_GIT_TEMPLATE_DIR=t &&
- export NO_SET_GIT_TEMPLATE_DIR &&
+ no_templatedir_env &&
git init "$1"
)
}
@@ -214,6 +267,32 @@ test_expect_success 'init with init.templatedir using ~ expansion' '
test_cmp templatedir-source/file templatedir-expansion/.git/file
'
+test_expect_success 'init with init.templateDir=does-not-exist' '
+ test_when_finished "rm -rf repo" &&
+ (
+ no_templatedir_env &&
+
+ cat >expect <<-\EOF &&
+ warning: templates not found in does-not-exist
+ EOF
+ git -c init.templateDir=does-not-exist init repo 2>actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'init with init.templateDir=[bool]' '
+ test_when_finished "rm -rf repo" &&
+ (
+ no_templatedir_env &&
+
+ cat >expect <<-\EOF &&
+ warning: templates not found in false
+ EOF
+ git -c init.templateDir=false init repo 2>actual &&
+ test_cmp expect actual
+ )
+'
+
test_expect_success 'init --bare/--shared overrides system/global config' '
test_config_global core.bare false &&
test_config_global core.sharedRepository 0640 &&
--
2.34.1.1020.gb1392dd1877
next prev parent reply other threads:[~2021-12-12 20:14 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-12 20:13 [PATCH 00/13] tests + init: don't rely on templates & add --no-template + config Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` Ævar Arnfjörð Bjarmason [this message]
2021-12-12 20:13 ` [PATCH 02/13] init: split out template population from create_default_files() Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 03/13] init: unconditionally create the "info" directory Ævar Arnfjörð Bjarmason
2021-12-20 15:59 ` Derrick Stolee
2021-12-20 16:13 ` Ævar Arnfjörð Bjarmason
2021-12-20 17:39 ` Derrick Stolee
2021-12-20 18:16 ` Ævar Arnfjörð Bjarmason
2021-12-20 19:06 ` Junio C Hamano
2021-12-21 1:15 ` Ævar Arnfjörð Bjarmason
2021-12-21 2:10 ` Junio C Hamano
2021-12-21 2:39 ` Ævar Arnfjörð Bjarmason
2021-12-21 6:38 ` Junio C Hamano
2021-12-24 17:26 ` Ævar Arnfjörð Bjarmason
2021-12-25 1:58 ` Junio C Hamano
2022-01-12 12:42 ` Ævar Arnfjörð Bjarmason
2022-01-18 19:43 ` Derrick Stolee
2022-01-19 1:00 ` Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 04/13] t0008: don't rely on default ".git/info/exclude" Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 05/13] init & clone: add a --no-template option Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 06/13] init & clone: add init.templateDir=[bool] Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 07/13] test-lib: create test data with "git init --no-template" (almost) Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 08/13] tests: don't depend on template-created .git/branches Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 09/13] t5540: don't rely on "hook/post-update.sample" Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 10/13] test-lib-functions: add and use a "write_hook" wrapper Ævar Arnfjörð Bjarmason
2021-12-13 14:15 ` Eric Sunshine
2021-12-13 16:29 ` Ævar Arnfjörð Bjarmason
2021-12-13 16:45 ` Eric Sunshine
2021-12-13 19:37 ` Ævar Arnfjörð Bjarmason
2021-12-13 21:33 ` Eric Sunshine
2021-12-12 20:13 ` [PATCH 11/13] tests: change "cat && chmod +x" to use "write_hook" Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 12/13] tests: migrate miscellaneous "write_script" to "write_hooks" Ævar Arnfjörð Bjarmason
2021-12-12 20:13 ` [PATCH 13/13] tests: don't depend on template-created .git/hooks Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 0/7] tests: don't depend on "git init" using the template Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 1/7] t0008: don't rely on default ".git/info/exclude" Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 2/7] tests: don't depend on template-created .git/branches Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 3/7] tests: don't assume a .git/info for .git/info/grafts Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 4/7] tests: don't assume a .git/info for .git/info/attributes Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 5/7] tests: don't assume a .git/info for .git/info/refs Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 6/7] tests: don't assume a .git/info for .git/info/exclude Ævar Arnfjörð Bjarmason
2022-06-03 11:15 ` [PATCH v2 7/7] tests: don't assume a .git/info for .git/info/sparse-checkout Ævar Arnfjörð Bjarmason
2022-06-03 19:17 ` [PATCH v2 0/7] tests: don't depend on "git init" using the template Junio C Hamano
2022-06-04 0:41 ` Ævar Arnfjörð Bjarmason
2022-06-06 19:08 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=patch-01.13-5526d3dc838-20211212T201308Z-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=derrickstolee@github.com \
--cc=git@adamspiers.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).