All of lore.kernel.org
 help / color / mirror / Atom feed
From: Glen Choo <chooglen@google.com>
To: git@vger.kernel.org
Cc: "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: Re: [PATCH 00/13] submodule: convert parts of 'update' to C
Date: Mon, 28 Feb 2022 17:29:10 -0800	[thread overview]
Message-ID: <kl6l35k2pijd.fsf@chooglen-macbookpro.roam.corp.google.com> (raw)
In-Reply-To: <20220301000816.56177-1-chooglen@google.com>

Glen Choo <chooglen@google.com> writes:

> 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

Ugh, this version doesn't compile (I rebased it onto 'master' and forgot
to take into account ce14de03db (refs API: remove "failure_errno" from
refs_resolve_ref_unsafe(), 2022-01-26)).

This version is still reviewable, but I'll run this through CI again
before I send out v2.

  parent reply	other threads:[~2022-03-01  1:29 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-01  0:08 [PATCH 00/13] submodule: convert parts of 'update' to C Glen Choo
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 ` Glen Choo [this message]
2022-03-01  4:41 ` [PATCH v2 00/13] submodule: convert parts of 'update' to C 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=kl6l35k2pijd.fsf@chooglen-macbookpro.roam.corp.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.