Subject: Re: [PATCH v3 0/9] archive: Add --recurse-submodules to git-archive command

From: Junio C Hamano <[email-masked]>
Date: Wed, 19 Oct 2022 13:44:00 -0700

Junio C Hamano <[email-masked]> writes:

> Mimic what Taylor did to adjust to the new world order that was
> introduced in the 2.38.1 update.
>
> Look at 9c32cfb4 (Sync with v2.38.1, 2022-10-17), which merges
> 2.38.1 and updates the tests to adjust to the new world order, by
> comparing the t/ directory of its first parent and the result of the
> merge.  It shows what Taylor did to adjust the tests to adjust.
>
>     $ git diff 9c32cfb4^ 9c32cfb4 t/
>
> I personally doubt it is generally a good idea, as it sets a bad
> pattern that tempts unsuspecting users to blindly copy and paste it
> to their $HOME/.gitconfig without realizing what its ramifications
> are, but the easiest workaround may be to mimic what was done in
> t/lib-submodule-update.sh that sets protocol.file.allow
> configuration knob globally.

I'll queue this at the tip of your topic when I rebuild 'seen' for
today's integration run.

 t/t1023-tree-read-tree-at.sh  | 4 +++-
 t/t5005-archive-submodules.sh | 7 ++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/t/t1023-tree-read-tree-at.sh b/t/t1023-tree-read-tree-at.sh
index 9e5ce3abb4..cfe6c867e3 100755
--- a/t/t1023-tree-read-tree-at.sh
+++ b/t/t1023-tree-read-tree-at.sh
@@ -32,7 +32,8 @@ test_expect_success 'read_tree basic' '
 '
 
 test_expect_success 'read_tree submodules' '
-	rm -rf walk_tree_submodules &&
+	git config --global protocol.file.allow always &&
+	rm -rf submodule1 &&
 	git init submodule1 &&
 	(
 		cd submodule1 &&
@@ -42,6 +43,7 @@ test_expect_success 'read_tree submodules' '
 		git add file1.txt dir1/dirA/file1.txt &&
 		git commit -m "initial commit"
 	) &&
+	rm -rf walk_tree_submodules &&
 	git init walk_tree_submodules &&
 	(
 		cd walk_tree_submodules &&
diff --git a/t/t5005-archive-submodules.sh b/t/t5005-archive-submodules.sh
index aad6cfd108..e1413e08a2 100755
--- a/t/t5005-archive-submodules.sh
+++ b/t/t5005-archive-submodules.sh
@@ -4,7 +4,7 @@ test_description='git archive --recurse-submodules test'
 
 . ./test-lib.sh
 
-check_tar() {
+check_tar () {
 	tarfile=$1.tar
 	listfile=$1.lst
 	dir=$1
@@ -15,7 +15,7 @@ check_tar() {
 	'
 }
 
-check_added() {
+check_added () {
 	dir=$1
 	path_in_fs=$2
 	path_in_archive=$3
@@ -26,7 +26,7 @@ check_added() {
 	'
 }
 
-check_not_added() {
+check_not_added () {
 	dir=$1
 	path_in_archive=$2
 
@@ -37,6 +37,7 @@ check_not_added() {
 }
 
 test_expect_success 'setup' '
+	git config --global protocol.file.allow always &&
 	rm -rf repo_with_submodules submodule1 uninited_repo_with_submodules &&
 	git init repo_with_submodules &&
 	git init submodule1 &&
-- 
2.38.1-236-gf47955814b