From: Glen Choo <chooglen@google.com>
To: git@vger.kernel.org
Cc: "Glen Choo" <chooglen@google.com>,
"Junio C Hamano" <gitster@pobox.com>,
"Atharva Raykar" <raykar.ath@gmail.com>,
"Emily Shaffer" <emilyshaffer@google.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Josh Steadmon" <steadmon@google.com>
Subject: [PATCH 00/13] submodule: convert parts of 'update' to C
Date: Mon, 28 Feb 2022 16:08:03 -0800 [thread overview]
Message-ID: <20220301000816.56177-1-chooglen@google.com> (raw)
Original series: https://lore.kernel.org/git/20220210092833.55360-1-chooglen@google.com
(I've trimmed the cc list down to the 'most interested' parties)
= Overview
This is part 1 of 2 series that will supersede ar/submodule-update (as laid out
in [1]). This series prepares for the eventual conversion of "git submodule
update" to C by doing 'obvious' conversions first, and leaving more involved
conversions for later.
Part 1 is a lot simpler than the original series in its entirety, and should
play better with topics that Junio identified:
- This series is based off a later version of 'master' that already has
'js/apply-partial-clone-filters-recursively' merged in [2].
- There is only one, trivial, conflict with 'es/superproject-aware-submodules'
(both add tests to the end of t7406) [3].
Most of these patches were originally from ar/submodule-update, but because of
the new organization, some commit messages have been amended to make more sense
in context. However, patches 12 and 13 are new - they were added to handle the
"--filter" option introduced by 'js/apply-partial-clone-filters-recursively'.
Cc-ed Josh, who might be interested in "--filter" changes e.g. the new
tests.
[1] https://lore.kernel.org/git/kl6lmtig40l4.fsf@chooglen-macbookpro.roam.corp.google.com
[2] This also fixes some trivial merge conflicts with 'master'.
[3] Part 2 has nontrival conflicts though. Offline, Emily mentioned that
conflicts might go away in the next iteration of
'es/superproject-aware-submodules', but if not, the next round of patches
will probably be based on a merge of this series +
'es/superproject-aware-submodules'.
= Patch summary
I'm not certain whether to keep patch 13, see the extra discussion in
the --- description for details.
- Patch 1 adds extra tests to "git submodule update" to make sure we
don't break anything
- Patch 2 removes dead code that used to be part of "git submodule
update"
- Patch 3 prepares for later changes by introducing the C function that
will hold most of the newly converted code
- Patch 4 moves run-update-procedure's --suboid option into C
- Patch 5 moves ensure-core-worktree into C
- Patches 6-8 move run-update-procedure's --remote option into C
- Patches 9-11 move "git submodule update"'s --init into C
- Patches 12-13 move "git submodule update"'s --filter option into C
Atharva Raykar (3):
submodule--helper: get remote names from any repository
submodule--helper: refactor get_submodule_displaypath()
submodule--helper: allow setting superprefix for init_submodule()
Glen Choo (8):
submodule--helper: remove update-module-mode
submodule--helper: reorganize code for sh to C conversion
submodule--helper run-update-procedure: remove --suboid
submodule--helper: remove ensure-core-worktree
submodule--helper run-update-procedure: learn --remote
submodule--helper update-clone: learn --init
submodule update: add tests for --filter
submodule--helper update-clone: check for --filter and --init
Ævar Arnfjörð Bjarmason (2):
submodule tests: test for init and update failure output
submodule--helper: don't use bitfield indirection for parse_options()
builtin/submodule--helper.c | 230 ++++++++++++++++++++-------------
git-submodule.sh | 54 +-------
t/t7406-submodule-update.sh | 54 +++++++-
t/t7408-submodule-reference.sh | 14 +-
4 files changed, 211 insertions(+), 141 deletions(-)
base-commit: 715d08a9e51251ad8290b181b6ac3b9e1f9719d7
--
2.33.GIT
next reply other threads:[~2022-03-01 0:08 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-01 0:08 Glen Choo [this message]
2022-03-01 0:08 ` [PATCH 01/13] submodule tests: test for init and update failure output Glen Choo
2022-03-01 0:08 ` [PATCH 02/13] submodule--helper: remove update-module-mode Glen Choo
2022-03-01 0:08 ` [PATCH 03/13] submodule--helper: reorganize code for sh to C conversion Glen Choo
2022-03-01 0:08 ` [PATCH 04/13] submodule--helper run-update-procedure: remove --suboid Glen Choo
2022-03-01 0:08 ` [PATCH 05/13] submodule--helper: remove ensure-core-worktree Glen Choo
2022-03-01 0:08 ` [PATCH 06/13] submodule--helper: get remote names from any repository Glen Choo
2022-03-01 2:46 ` Junio C Hamano
2022-03-01 4:26 ` Glen Choo
2022-03-01 0:08 ` [PATCH 07/13] submodule--helper: don't use bitfield indirection for parse_options() Glen Choo
2022-03-01 0:08 ` [PATCH 08/13] submodule--helper run-update-procedure: learn --remote Glen Choo
2022-03-01 0:08 ` [PATCH 09/13] submodule--helper: refactor get_submodule_displaypath() Glen Choo
2022-03-01 0:08 ` [PATCH 10/13] submodule--helper: allow setting superprefix for init_submodule() Glen Choo
2022-03-01 0:08 ` [PATCH 11/13] submodule--helper update-clone: learn --init Glen Choo
2022-03-01 0:08 ` [PATCH 12/13] submodule update: add tests for --filter Glen Choo
2022-03-01 0:08 ` [PATCH 13/13] submodule--helper update-clone: check for --filter and --init Glen Choo
2022-03-01 1:29 ` [PATCH 00/13] submodule: convert parts of 'update' to C Glen Choo
2022-03-01 4:41 ` [PATCH v2 " Glen Choo
2022-03-01 4:41 ` [PATCH v2 01/13] submodule tests: test for init and update failure output Glen Choo
2022-03-01 4:41 ` [PATCH v2 02/13] submodule--helper: remove update-module-mode Glen Choo
2022-03-01 4:41 ` [PATCH v2 03/13] submodule--helper: reorganize code for sh to C conversion Glen Choo
2022-03-01 4:41 ` [PATCH v2 04/13] submodule--helper run-update-procedure: remove --suboid Glen Choo
2022-03-01 4:41 ` [PATCH v2 05/13] submodule--helper: remove ensure-core-worktree Glen Choo
2022-03-01 4:41 ` [PATCH v2 06/13] submodule--helper: get remote names from any repository Glen Choo
2022-03-01 8:01 ` Ævar Arnfjörð Bjarmason
2022-03-01 4:41 ` [PATCH v2 07/13] submodule--helper: don't use bitfield indirection for parse_options() Glen Choo
2022-03-01 4:41 ` [PATCH v2 08/13] submodule--helper run-update-procedure: learn --remote Glen Choo
2022-03-01 4:41 ` [PATCH v2 09/13] submodule--helper: refactor get_submodule_displaypath() Glen Choo
2022-03-01 8:05 ` Ævar Arnfjörð Bjarmason
2022-03-01 4:41 ` [PATCH v2 10/13] submodule--helper: allow setting superprefix for init_submodule() Glen Choo
2022-03-01 4:41 ` [PATCH v2 11/13] submodule--helper update-clone: learn --init Glen Choo
2022-03-01 4:41 ` [PATCH v2 12/13] submodule update: add tests for --filter Glen Choo
2022-03-01 8:07 ` Ævar Arnfjörð Bjarmason
2022-03-01 18:30 ` Glen Choo
2022-03-01 4:41 ` [PATCH v2 13/13] submodule--helper update-clone: check for --filter and --init Glen Choo
2022-03-01 7:21 ` Ævar Arnfjörð Bjarmason
2022-03-01 7:34 ` Junio C Hamano
2022-03-01 18:34 ` Glen Choo
2022-03-03 10:06 ` Ævar Arnfjörð Bjarmason
2022-03-03 0:57 ` [PATCH v3 00/13] submodule: convert parts of 'update' to C Glen Choo
2022-03-03 0:57 ` [PATCH v3 01/13] submodule tests: test for init and update failure output Glen Choo
2022-03-03 0:57 ` [PATCH v3 02/13] submodule--helper: remove update-module-mode Glen Choo
2022-03-03 0:57 ` [PATCH v3 03/13] submodule--helper: reorganize code for sh to C conversion Glen Choo
2022-03-03 0:57 ` [PATCH v3 04/13] submodule--helper run-update-procedure: remove --suboid Glen Choo
2022-03-03 21:09 ` Junio C Hamano
2022-03-03 0:57 ` [PATCH v3 05/13] submodule--helper: remove ensure-core-worktree Glen Choo
2022-03-03 21:25 ` Junio C Hamano
2022-03-04 21:27 ` Glen Choo
2022-03-03 0:57 ` [PATCH v3 06/13] submodule--helper: get remote names from any repository Glen Choo
2022-03-03 0:57 ` [PATCH v3 07/13] submodule--helper: don't use bitfield indirection for parse_options() Glen Choo
2022-03-03 0:57 ` [PATCH v3 08/13] submodule--helper run-update-procedure: learn --remote Glen Choo
2022-03-03 21:35 ` Junio C Hamano
2022-03-04 21:29 ` Glen Choo
2022-03-03 0:57 ` [PATCH v3 09/13] submodule--helper: refactor get_submodule_displaypath() Glen Choo
2022-03-03 0:57 ` [PATCH v3 10/13] submodule--helper: allow setting superprefix for init_submodule() Glen Choo
2022-03-03 0:57 ` [PATCH v3 11/13] submodule--helper update-clone: learn --init Glen Choo
2022-03-03 0:57 ` [PATCH v3 12/13] submodule update: add tests for --filter Glen Choo
2022-03-03 0:57 ` [PATCH v3 13/13] submodule--helper update-clone: check for --filter and --init Glen Choo
2022-03-03 9:58 ` [PATCH v3 00/13] submodule: convert parts of 'update' to C Ævar Arnfjörð Bjarmason
2022-03-03 21:41 ` Junio C Hamano
2022-03-05 0:13 ` [PATCH v4 " Glen Choo
2022-03-05 0:13 ` [PATCH v4 01/13] submodule tests: test for init and update failure output Glen Choo
2022-03-05 0:13 ` [PATCH v4 02/13] submodule--helper: remove update-module-mode Glen Choo
2022-03-05 0:13 ` [PATCH v4 03/13] submodule--helper: reorganize code for sh to C conversion Glen Choo
2022-03-05 0:13 ` [PATCH v4 04/13] submodule--helper run-update-procedure: remove --suboid Glen Choo
2022-03-05 0:13 ` [PATCH v4 05/13] submodule--helper: get remote names from any repository Glen Choo
2022-03-05 0:13 ` [PATCH v4 06/13] submodule--helper: don't use bitfield indirection for parse_options() Glen Choo
2022-03-05 0:13 ` [PATCH v4 07/13] submodule--helper run-update-procedure: learn --remote Glen Choo
2022-03-05 0:13 ` [PATCH v4 08/13] submodule--helper: refactor get_submodule_displaypath() Glen Choo
2022-03-05 0:13 ` [PATCH v4 09/13] submodule--helper: allow setting superprefix for init_submodule() Glen Choo
2022-03-05 0:13 ` [PATCH v4 10/13] submodule--helper update-clone: learn --init Glen Choo
2022-03-05 0:13 ` [PATCH v4 11/13] submodule--helper: remove ensure-core-worktree Glen Choo
2022-03-05 0:14 ` [PATCH v4 12/13] submodule update: add tests for --filter Glen Choo
2022-03-05 0:14 ` [PATCH v4 13/13] submodule--helper update-clone: check for --filter and --init Glen Choo
2022-03-05 0:40 ` [PATCH v4 00/13] submodule: convert parts of 'update' to C 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=20220301000816.56177-1-chooglen@google.com \
--to=chooglen@google.com \
--cc=avarab@gmail.com \
--cc=emilyshaffer@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=raykar.ath@gmail.com \
--cc=steadmon@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).