From: Glen Choo <chooglen@google.com>
To: git@vger.kernel.org
Cc: Glen Choo <chooglen@google.com>,
Jonathan Tan <jonathantanmy@google.com>,
Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v2 1/9] t5526: introduce test helper to assert on fetches
Date: Wed, 16 Feb 2022 01:23:10 +0800 [thread overview]
Message-ID: <20220215172318.73533-2-chooglen@google.com> (raw)
In-Reply-To: <20220215172318.73533-1-chooglen@google.com>
A future commit will change the stderr of "git fetch
--recurse-submodules" and add new tests to t/t5526-fetch-submodules.sh.
This poses two challenges:
* The tests use test_cmp to assert on the stderr, which will fail on the
future test because the stderr changes slightly, even though it still
contains the information we expect.
* The expect.err file is constructed by the add_upstream_commit() helper
as input into test_cmp, but most tests fetch a different combination
of repos from expect.err. This results in noisy tests that modify
parts of that expect.err to generate the expected output.
To address both of these issues, introduce a verify_fetch_result()
helper to t/t5526-fetch-submodules.sh that asserts on the output of "git
fetch --recurse-submodules" and handles the ordering of expect.err.
As a result, the tests no longer construct expect.err manually. test_cmp
is still invoked by verify_fetch_result(), but that will be replaced in
a later commit.
Signed-off-by: Glen Choo <chooglen@google.com>
---
t/t5526-fetch-submodules.sh | 136 +++++++++++++++++++++---------------
1 file changed, 81 insertions(+), 55 deletions(-)
diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh
index 2dc75b80db..0e93df1665 100755
--- a/t/t5526-fetch-submodules.sh
+++ b/t/t5526-fetch-submodules.sh
@@ -13,6 +13,10 @@ export GIT_TEST_FATAL_REGISTER_SUBMODULE_ODB
pwd=$(pwd)
+# For each submodule in the test setup, this creates a commit and writes
+# a file that contains the expected err if that new commit were fetched.
+# These output files get concatenated in the right order by
+# verify_fetch_result().
add_upstream_commit() {
(
cd submodule &&
@@ -22,9 +26,9 @@ add_upstream_commit() {
git add subfile &&
git commit -m new subfile &&
head2=$(git rev-parse --short HEAD) &&
- echo "Fetching submodule submodule" > ../expect.err &&
- echo "From $pwd/submodule" >> ../expect.err &&
- echo " $head1..$head2 sub -> origin/sub" >> ../expect.err
+ echo "Fetching submodule submodule" > ../expect.err.sub &&
+ echo "From $pwd/submodule" >> ../expect.err.sub &&
+ echo " $head1..$head2 sub -> origin/sub" >> ../expect.err.sub
) &&
(
cd deepsubmodule &&
@@ -34,12 +38,33 @@ add_upstream_commit() {
git add deepsubfile &&
git commit -m new deepsubfile &&
head2=$(git rev-parse --short HEAD) &&
- echo "Fetching submodule submodule/subdir/deepsubmodule" >> ../expect.err
- echo "From $pwd/deepsubmodule" >> ../expect.err &&
- echo " $head1..$head2 deep -> origin/deep" >> ../expect.err
+ echo "Fetching submodule submodule/subdir/deepsubmodule" > ../expect.err.deep
+ echo "From $pwd/deepsubmodule" >> ../expect.err.deep &&
+ echo " $head1..$head2 deep -> origin/deep" >> ../expect.err.deep
)
}
+# Verifies that the expected repositories were fetched. This is done by
+# concatenating the files expect.err.[super|sub|deep] in the correct
+# order and comparing it to the actual stderr.
+#
+# If a repo should not be fetched in the test, its corresponding
+# expect.err file should be rm-ed.
+verify_fetch_result() {
+ ACTUAL_ERR=$1 &&
+ rm -f expect.err.combined &&
+ if [ -f expect.err.super ]; then
+ cat expect.err.super >>expect.err.combined
+ fi &&
+ if [ -f expect.err.sub ]; then
+ cat expect.err.sub >>expect.err.combined
+ fi &&
+ if [ -f expect.err.deep ]; then
+ cat expect.err.deep >>expect.err.combined
+ fi &&
+ test_cmp expect.err.combined $ACTUAL_ERR
+}
+
test_expect_success setup '
mkdir deepsubmodule &&
(
@@ -77,7 +102,7 @@ test_expect_success "fetch --recurse-submodules recurses into submodules" '
git fetch --recurse-submodules >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "submodule.recurse option triggers recursive fetch" '
@@ -87,7 +112,7 @@ test_expect_success "submodule.recurse option triggers recursive fetch" '
git -c submodule.recurse fetch >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "fetch --recurse-submodules -j2 has the same output behaviour" '
@@ -97,7 +122,7 @@ test_expect_success "fetch --recurse-submodules -j2 has the same output behaviou
GIT_TRACE="$TRASH_DIRECTORY/trace.out" git fetch --recurse-submodules -j2 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err &&
+ verify_fetch_result actual.err &&
grep "2 tasks" trace.out
'
@@ -127,7 +152,7 @@ test_expect_success "using fetchRecurseSubmodules=true in .gitmodules recurses i
git fetch >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "--no-recurse-submodules overrides .gitmodules config" '
@@ -158,7 +183,7 @@ test_expect_success "--recurse-submodules overrides fetchRecurseSubmodules setti
git config --unset submodule.submodule.fetchRecurseSubmodules
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "--quiet propagates to submodules" '
@@ -186,7 +211,7 @@ test_expect_success "--dry-run propagates to submodules" '
git fetch --recurse-submodules --dry-run >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "Without --dry-run propagates to submodules" '
@@ -195,7 +220,7 @@ test_expect_success "Without --dry-run propagates to submodules" '
git fetch --recurse-submodules >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "recurseSubmodules=true propagates into submodules" '
@@ -206,7 +231,7 @@ test_expect_success "recurseSubmodules=true propagates into submodules" '
git fetch >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "--recurse-submodules overrides config in submodule" '
@@ -220,7 +245,7 @@ test_expect_success "--recurse-submodules overrides config in submodule" '
git fetch --recurse-submodules >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "--no-recurse-submodules overrides config setting" '
@@ -253,14 +278,14 @@ test_expect_success "Recursion stops when no new submodule commits are fetched"
git add submodule &&
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err.sub &&
- echo " $head1..$head2 super -> origin/super" >>expect.err.sub &&
- head -3 expect.err >> expect.err.sub &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.super &&
+ rm expect.err.deep &&
(
cd downstream &&
git fetch >../actual.out 2>../actual.err
) &&
- test_cmp expect.err.sub actual.err &&
+ verify_fetch_result actual.err &&
test_must_be_empty actual.out
'
@@ -271,14 +296,16 @@ test_expect_success "Recursion doesn't happen when new superproject commits don'
git add file &&
git commit -m "new file" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err.file &&
- echo " $head1..$head2 super -> origin/super" >> expect.err.file &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.super &&
+ rm expect.err.sub &&
+ rm expect.err.deep &&
(
cd downstream &&
git fetch >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err.file actual.err
+ verify_fetch_result actual.err
'
test_expect_success "Recursion picks up config in submodule" '
@@ -295,9 +322,8 @@ test_expect_success "Recursion picks up config in submodule" '
git add submodule &&
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err.sub &&
- echo " $head1..$head2 super -> origin/super" >> expect.err.sub &&
- cat expect.err >> expect.err.sub &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.super &&
(
cd downstream &&
git fetch >../actual.out 2>../actual.err &&
@@ -306,7 +332,7 @@ test_expect_success "Recursion picks up config in submodule" '
git config --unset fetch.recurseSubmodules
)
) &&
- test_cmp expect.err.sub actual.err &&
+ verify_fetch_result actual.err &&
test_must_be_empty actual.out
'
@@ -331,15 +357,13 @@ test_expect_success "Recursion picks up all submodules when necessary" '
git add submodule &&
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 super -> origin/super" >> expect.err.2 &&
- cat expect.err.sub >> expect.err.2 &&
- tail -3 expect.err >> expect.err.2 &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.super &&
(
cd downstream &&
git fetch >../actual.out 2>../actual.err
) &&
- test_cmp expect.err.2 actual.err &&
+ verify_fetch_result actual.err &&
test_must_be_empty actual.out
'
@@ -375,11 +399,8 @@ test_expect_success "'--recurse-submodules=on-demand' recurses as deep as necess
git add submodule &&
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
- tail -3 expect.err > expect.err.deepsub &&
- echo "From $pwd/." > expect.err &&
- echo " $head1..$head2 super -> origin/super" >>expect.err &&
- cat expect.err.sub >> expect.err &&
- cat expect.err.deepsub >> expect.err &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.super &&
(
cd downstream &&
git config fetch.recurseSubmodules false &&
@@ -395,7 +416,7 @@ test_expect_success "'--recurse-submodules=on-demand' recurses as deep as necess
)
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err
+ verify_fetch_result actual.err
'
test_expect_success "'--recurse-submodules=on-demand' stops when no new submodule commits are found in the superproject (and ignores config)" '
@@ -405,14 +426,16 @@ test_expect_success "'--recurse-submodules=on-demand' stops when no new submodul
git add file &&
git commit -m "new file" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err.file &&
- echo " $head1..$head2 super -> origin/super" >> expect.err.file &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.super &&
+ rm expect.err.sub &&
+ rm expect.err.deep &&
(
cd downstream &&
git fetch --recurse-submodules=on-demand >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err.file actual.err
+ verify_fetch_result actual.err
'
test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config" '
@@ -426,9 +449,9 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config
git add submodule &&
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 super -> origin/super" >>expect.err.2 &&
- head -3 expect.err >> expect.err.2 &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.super &&
+ rm expect.err.deep &&
(
cd downstream &&
git config fetch.recurseSubmodules on-demand &&
@@ -440,7 +463,7 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config
git config --unset fetch.recurseSubmodules
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err.2 actual.err
+ verify_fetch_result actual.err
'
test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules" '
@@ -454,9 +477,9 @@ test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' override
git add submodule &&
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 super -> origin/super" >>expect.err.2 &&
- head -3 expect.err >> expect.err.2 &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.super &&
+ rm expect.err.deep &&
(
cd downstream &&
git config submodule.submodule.fetchRecurseSubmodules on-demand &&
@@ -468,7 +491,7 @@ test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' override
git config --unset submodule.submodule.fetchRecurseSubmodules
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err.2 actual.err
+ verify_fetch_result actual.err
'
test_expect_success "don't fetch submodule when newly recorded commits are already present" '
@@ -480,14 +503,17 @@ test_expect_success "don't fetch submodule when newly recorded commits are alrea
git add submodule &&
git commit -m "submodule rewound" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." > expect.err &&
- echo " $head1..$head2 super -> origin/super" >> expect.err &&
+ echo "From $pwd/." > expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.super &&
+ rm expect.err.sub &&
+ # This file does not exist, but rm -f for readability
+ rm -f expect.err.deep &&
(
cd downstream &&
git fetch >../actual.out 2>../actual.err
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err actual.err &&
+ verify_fetch_result actual.err &&
(
cd submodule &&
git checkout -q sub
@@ -505,9 +531,9 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' works also without .git
git rm .gitmodules &&
git commit -m "new submodule without .gitmodules" &&
head2=$(git rev-parse --short HEAD) &&
- echo "From $pwd/." >expect.err.2 &&
- echo " $head1..$head2 super -> origin/super" >>expect.err.2 &&
- head -3 expect.err >>expect.err.2 &&
+ echo "From $pwd/." >expect.err.super &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.super &&
+ rm expect.err.deep &&
(
cd downstream &&
rm .gitmodules &&
@@ -523,7 +549,7 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' works also without .git
git reset --hard
) &&
test_must_be_empty actual.out &&
- test_cmp expect.err.2 actual.err &&
+ verify_fetch_result actual.err &&
git checkout HEAD^ -- .gitmodules &&
git add .gitmodules &&
git commit -m "new submodule restored .gitmodules"
--
2.33.GIT
next prev parent reply other threads:[~2022-02-15 17:24 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-10 4:41 [PATCH 0/8] fetch --recurse-submodules: fetch unpopulated submodules Glen Choo
2022-02-10 4:41 ` [PATCH 1/8] submodule: inline submodule_commits() into caller Glen Choo
2022-02-10 4:41 ` [PATCH 2/8] submodule: store new submodule commits oid_array in a struct Glen Choo
2022-02-10 19:00 ` Jonathan Tan
2022-02-10 22:05 ` Junio C Hamano
2022-02-10 4:41 ` [PATCH 3/8] submodule: make static functions read submodules from commits Glen Choo
2022-02-10 19:15 ` Jonathan Tan
2022-02-11 10:07 ` Glen Choo
2022-02-11 10:09 ` Glen Choo
2022-02-10 4:41 ` [PATCH 4/8] t5526: introduce test helper to assert on fetches Glen Choo
2022-02-10 4:41 ` [PATCH 5/8] t5526: use grep " Glen Choo
2022-02-10 19:17 ` Jonathan Tan
2022-02-10 4:41 ` [PATCH 6/8] submodule: extract get_fetch_task() Glen Choo
2022-02-10 19:33 ` Jonathan Tan
2022-02-10 4:41 ` [PATCH 7/8] fetch: fetch unpopulated, changed submodules Glen Choo
2022-02-10 22:49 ` Junio C Hamano
2022-02-11 7:15 ` Glen Choo
2022-02-11 17:07 ` Junio C Hamano
2022-02-10 22:51 ` Jonathan Tan
2022-02-14 4:24 ` Glen Choo
2022-02-14 18:04 ` Glen Choo
2022-02-14 10:17 ` Glen Choo
2022-02-10 4:41 ` [PATCH 8/8] submodule: fix bug and remove add_submodule_odb() Glen Choo
2022-02-10 22:54 ` Junio C Hamano
2022-02-11 3:13 ` Glen Choo
2022-02-10 23:04 ` Jonathan Tan
2022-02-11 3:18 ` Glen Choo
2022-02-11 17:19 ` Junio C Hamano
2022-02-14 2:52 ` Glen Choo
2022-02-10 7:07 ` [PATCH 0/8] fetch --recurse-submodules: fetch unpopulated submodules Junio C Hamano
2022-02-10 8:51 ` Glen Choo
2022-02-10 17:40 ` Junio C Hamano
2022-02-11 2:39 ` Glen Choo
2022-02-15 17:23 ` [PATCH v2 0/9] " Glen Choo
2022-02-15 17:23 ` Glen Choo [this message]
2022-02-15 21:37 ` [PATCH v2 1/9] t5526: introduce test helper to assert on fetches Ævar Arnfjörð Bjarmason
2022-02-15 17:23 ` [PATCH v2 2/9] t5526: use grep " Glen Choo
2022-02-15 21:53 ` Ævar Arnfjörð Bjarmason
2022-02-16 3:09 ` Glen Choo
2022-02-16 10:02 ` Ævar Arnfjörð Bjarmason
2022-02-17 4:04 ` Glen Choo
2022-02-17 9:25 ` Ævar Arnfjörð Bjarmason
2022-02-17 16:16 ` Glen Choo
2022-02-15 17:23 ` [PATCH v2 3/9] submodule: make static functions read submodules from commits Glen Choo
2022-02-15 21:18 ` Jonathan Tan
2022-02-16 6:59 ` Glen Choo
2022-02-15 22:00 ` Ævar Arnfjörð Bjarmason
2022-02-16 7:08 ` Glen Choo
2022-02-15 17:23 ` [PATCH v2 4/9] submodule: inline submodule_commits() into caller Glen Choo
2022-02-15 22:02 ` Ævar Arnfjörð Bjarmason
2022-02-15 17:23 ` [PATCH v2 5/9] submodule: store new submodule commits oid_array in a struct Glen Choo
2022-02-15 21:33 ` Ævar Arnfjörð Bjarmason
2022-02-15 17:23 ` [PATCH v2 6/9] submodule: extract get_fetch_task() Glen Choo
2022-02-15 17:23 ` [PATCH v2 7/9] fetch: fetch unpopulated, changed submodules Glen Choo
2022-02-15 22:02 ` Jonathan Tan
2022-02-16 5:46 ` Glen Choo
2022-02-16 9:11 ` Glen Choo
2022-02-16 9:39 ` Ævar Arnfjörð Bjarmason
2022-02-16 17:33 ` Glen Choo
2022-02-15 22:06 ` Ævar Arnfjörð Bjarmason
2022-02-15 17:23 ` [PATCH v2 8/9] submodule: read shallows when finding " Glen Choo
2022-02-15 22:03 ` Jonathan Tan
2022-02-15 17:23 ` [PATCH v2 9/9] submodule: fix latent check_has_commit() bug Glen Choo
2022-02-15 22:04 ` Jonathan Tan
2022-02-24 10:08 ` [PATCH v3 00/10] fetch --recurse-submodules: fetch unpopulated submodules Glen Choo
2022-02-24 10:08 ` [PATCH v3 01/10] t5526: introduce test helper to assert on fetches Glen Choo
2022-02-25 0:34 ` Junio C Hamano
2022-02-24 10:08 ` [PATCH v3 02/10] t5526: stop asserting on stderr literally Glen Choo
2022-02-24 11:52 ` Ævar Arnfjörð Bjarmason
2022-02-24 16:15 ` Glen Choo
2022-02-24 18:13 ` Eric Sunshine
2022-02-24 23:05 ` Jonathan Tan
2022-02-25 2:26 ` Glen Choo
2022-02-24 10:08 ` [PATCH v3 03/10] t5526: create superproject commits with test helper Glen Choo
2022-02-24 23:14 ` Jonathan Tan
2022-02-25 2:52 ` Glen Choo
2022-02-25 11:42 ` Ævar Arnfjörð Bjarmason
2022-02-28 18:11 ` Glen Choo
2022-02-24 10:08 ` [PATCH v3 04/10] submodule: make static functions read submodules from commits Glen Choo
2022-02-24 10:08 ` [PATCH v3 05/10] submodule: inline submodule_commits() into caller Glen Choo
2022-02-24 10:08 ` [PATCH v3 06/10] submodule: store new submodule commits oid_array in a struct Glen Choo
2022-02-24 10:08 ` [PATCH v3 07/10] submodule: extract get_fetch_task() Glen Choo
2022-02-24 23:26 ` Jonathan Tan
2022-02-24 10:08 ` [PATCH v3 08/10] submodule: move logic into fetch_task_create() Glen Choo
2022-02-24 23:36 ` Jonathan Tan
2022-02-24 10:08 ` [PATCH v3 09/10] fetch: fetch unpopulated, changed submodules Glen Choo
2022-02-24 21:30 ` Junio C Hamano
2022-02-25 3:04 ` Glen Choo
2022-02-25 0:33 ` Junio C Hamano
2022-02-25 3:07 ` Glen Choo
2022-02-25 0:39 ` Jonathan Tan
2022-02-25 3:46 ` Glen Choo
2022-03-04 23:46 ` Jonathan Tan
2022-03-05 0:22 ` Glen Choo
2022-03-04 23:53 ` Jonathan Tan
2022-02-26 18:53 ` Junio C Hamano
2022-03-01 20:24 ` Johannes Schindelin
2022-03-01 20:33 ` Junio C Hamano
2022-03-02 23:25 ` Glen Choo
2022-03-01 20:32 ` Junio C Hamano
2022-02-24 10:08 ` [PATCH v3 10/10] submodule: fix latent check_has_commit() bug Glen Choo
2022-03-04 0:57 ` [PATCH v4 00/10] fetch --recurse-submodules: fetch unpopulated submodules Glen Choo
2022-03-04 0:57 ` [PATCH v4 01/10] t5526: introduce test helper to assert on fetches Glen Choo
2022-03-04 2:06 ` Junio C Hamano
2022-03-04 22:11 ` Glen Choo
2022-03-04 0:57 ` [PATCH v4 02/10] t5526: stop asserting on stderr literally Glen Choo
2022-03-04 2:12 ` Junio C Hamano
2022-03-04 22:41 ` Jonathan Tan
2022-03-04 23:48 ` Junio C Hamano
2022-03-05 0:25 ` Glen Choo
2022-03-04 0:57 ` [PATCH v4 03/10] t5526: create superproject commits with test helper Glen Choo
2022-03-04 22:59 ` Jonathan Tan
2022-03-04 0:57 ` [PATCH v4 04/10] submodule: make static functions read submodules from commits Glen Choo
2022-03-04 0:57 ` [PATCH v4 05/10] submodule: inline submodule_commits() into caller Glen Choo
2022-03-04 0:57 ` [PATCH v4 06/10] submodule: store new submodule commits oid_array in a struct Glen Choo
2022-03-04 0:57 ` [PATCH v4 07/10] submodule: extract get_fetch_task() Glen Choo
2022-03-04 0:57 ` [PATCH v4 08/10] submodule: move logic into fetch_task_create() Glen Choo
2022-03-04 0:57 ` [PATCH v4 09/10] fetch: fetch unpopulated, changed submodules Glen Choo
2022-03-04 2:37 ` Junio C Hamano
2022-03-04 22:59 ` Glen Choo
2022-03-05 0:13 ` Junio C Hamano
2022-03-05 0:37 ` Glen Choo
2022-03-08 0:11 ` Junio C Hamano
2022-03-04 23:56 ` Jonathan Tan
2022-03-04 0:57 ` [PATCH v4 10/10] submodule: fix latent check_has_commit() bug Glen Choo
2022-03-04 2:17 ` Junio C Hamano
2022-03-04 2:22 ` [PATCH v4 00/10] fetch --recurse-submodules: fetch unpopulated submodules Junio C Hamano
2022-03-08 0:14 ` [PATCH v5 " Glen Choo
2022-03-08 0:14 ` [PATCH v5 01/10] t5526: introduce test helper to assert on fetches Glen Choo
2022-03-08 0:14 ` [PATCH v5 02/10] t5526: stop asserting on stderr literally Glen Choo
2022-03-08 0:14 ` [PATCH v5 03/10] t5526: create superproject commits with test helper Glen Choo
2022-03-08 0:14 ` [PATCH v5 04/10] submodule: make static functions read submodules from commits Glen Choo
2022-03-08 0:14 ` [PATCH v5 05/10] submodule: inline submodule_commits() into caller Glen Choo
2022-03-08 0:14 ` [PATCH v5 06/10] submodule: store new submodule commits oid_array in a struct Glen Choo
2022-03-08 0:14 ` [PATCH v5 07/10] submodule: extract get_fetch_task() Glen Choo
2022-03-08 0:14 ` [PATCH v5 08/10] submodule: move logic into fetch_task_create() Glen Choo
2022-03-08 0:14 ` [PATCH v5 09/10] fetch: fetch unpopulated, changed submodules Glen Choo
2022-03-08 0:14 ` [PATCH v5 10/10] submodule: fix latent check_has_commit() bug Glen Choo
2022-03-08 0:50 ` [PATCH v5 00/10] fetch --recurse-submodules: fetch unpopulated submodules Junio C Hamano
2022-03-08 18:24 ` Glen Choo
2022-03-09 19:13 ` Junio C Hamano
2022-03-09 19:49 ` Glen Choo
2022-03-09 20:22 ` Junio C Hamano
2022-03-09 22:11 ` Glen Choo
2022-03-16 21:58 ` Glen Choo
2022-03-16 22:06 ` Junio C Hamano
2022-03-16 22:37 ` Glen Choo
2022-03-16 23:08 ` Junio C Hamano
2022-03-08 21:42 ` Jonathan Tan
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=20220215172318.73533-2-chooglen@google.com \
--to=chooglen@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jonathantanmy@google.com \
/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).