mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Emily Shaffer <>
To: Junio C Hamano <>
Subject: Submodules UX overhaul update (was: What's cooking in git.git (Oct 2021, #03; Mon, 11))
Date: Tue, 12 Oct 2021 15:07:06 -0700	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <xmqqv9239k15.fsf@gitster.g>

As I promised in IRC yesterday, here's an attempt to filter this into a
submodules newsletter of sorts.

For context on the broader submodules effort I'm discussing in this
note, please see the design doc:

I'm aware there are other submodule efforts ongoing too, but in this
letter I've highlighted ones that are necessary for the above-linked
design doc. Selfish, I know. ;)

On Mon, Oct 11, 2021 at 05:14:14PM -0700, Junio C Hamano wrote:
> [Stalled]
> * ar/submodule-update (2021-09-20) 8 commits
>  . submodule--helper: rename helper functions
>  . submodule--helper: remove unused helpers
>  . submodule--helper: remove update-clone subcommand
>  . submodule: move core cmd_update() logic to C
>  . submodule--helper: refactor get_submodule_displaypath()
>  . submodule--helper: rename helpers for update-clone
>  . submodule--helper: get remote names from any repository
>  . submodule--helper: split up ensure_core_worktree()
>  Rewrite of "git submodule update" in C.
>  Kicked out of 'seen' to make room for es/superproject-aware-submodules
>  which is among the topics this topic stomps on.

Mentioning this series in the "newsletter" since I'm aware that I'm
blocking it with es/superproject-aware-submodules. I have it open in
another tab as I type and plan to send a reroll today or tomorrow.

> --------------------------------------------------
> [Cooking]
> * es/superproject-aware-submodules (2021-08-19) 5 commits
>  - fixup! introduce submodule.superprojectGitDir record
>  - submodule: record superproject gitdir during 'update'
>  - submodule: record superproject gitdir during absorbgitdirs
>  - introduce submodule.superprojectGitDir record
>  - t7400-submodule-basic: modernize inspect() helper
>  A configuration variable in a submodule points at the location of
>  the superproject it is bound to (RFC).
>  Brought back to 'seen' to see if it still plays well with the rest
>  of 'seen', without the conflicting ar/submodule-update topic.

Like I said above - planning to send a reroll today or tomorrow.

> * ab/config-based-hooks-1 (2021-09-27) 8 commits
>   (merged to 'next' on 2021-10-06 at d05325ed35)
>  + hook-list.h: add a generated list of hooks, like config-list.h
>  + hook.c users: use "hook_exists()" instead of "find_hook()"
>  + hook.c: add a hook_exists() wrapper and use it in bugreport.c
>  + hook.[ch]: move find_hook() from run-command.c to hook.c
>  + Makefile: remove an out-of-date comment
>  + Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H)
>  + Makefile: stop hardcoding {command,config}-list.h
>  + Makefile: mark "check" target as .PHONY
>  Mostly preliminary clean-up in the hook API.
>  Will merge to 'master'.

We saw this make it in to 'next' last week - woohoo! (Yes, this is part
of the critical path for the planned submodulesy work.)

Looks like the next chunk is at
- I will try and take a look this week (but probably cannot til ~Thursday).

> * jt/no-abuse-alternate-odb-for-submodules (2021-10-08) 9 commits
>  - submodule: trace adding submodule ODB as alternate
>  - submodule: pass repo to check_has_commit()
>  - object-file: only register submodule ODB if needed
>  - merge-{ort,recursive}: remove add_submodule_odb()
>  - refs: peeling non-the_repository iterators is BUG
>  - refs: teach arbitrary repo support to iterators
>  - refs: plumb repo into ref stores
>  - Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules
>  - Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
>  Follow through the work to use the repo interface to access
>  submodule objects in-process, instead of abusing the alternate
>  object database interface.
>  Will merge to 'next'?

I asked around and it seems like:
 1. Josh Steadmon will take a last pass at the latest;
 2. Jonathan Tan thinks it's pretty much ready.


Besides what was in the What's Cooking mail, we have a couple more
series on our minds:

 Introducing a new value for core.autosetupmerge, "inherit". This eases
 our ability to push to the right place in submodules when running 'git
 push' recursively from the superproject.

 However, this topic is not ready for review - Josh is planning a
 re-roll later in the week.

 Pre-work for 'git branch --recurse-submodules' support. This one is
 mostly plumbing through `struct repo` and replacing a few instances of
 `the_repository`. Glen is planning a reroll shortly.

Additionally, later this week Jonathan Tan is planning on sending an RFC
to allow a config 'includeIf' to gate on remote URLs. This will be handy
for us (Google) to do some pilot groups more efficiently, but I imagine
will also be useful for external users (especially combined with the
completed config-based-hooks feature).

 - Emily

  reply	other threads:[~2021-10-12 22:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-12  0:14 What's cooking in git.git (Oct 2021, #03; Mon, 11) Junio C Hamano
2021-10-12 22:07 ` Emily Shaffer [this message]
2021-10-13  5:20   ` Submodules UX overhaul update (was: What's cooking in git.git (Oct 2021, #03; Mon, 11)) Atharva Raykar
2021-10-13 13:28 ` ab/mark-leak-free-tests Ævar Arnfjörð Bjarmason
2021-10-13 13:33 ` ab/unpack-trees-leakfix Ævar Arnfjörð Bjarmason
2021-10-13 13:43 ` What's cooking in git.git (Oct 2021, #03; Mon, 11) Ævar Arnfjörð Bjarmason
2021-10-13 13:47 ` ab/parse-options-cleanup Ævar Arnfjörð Bjarmason
2021-10-13 22:35 ` What's cooking in git.git (Oct 2021, #03; Mon, 11) Junio C Hamano
2021-10-14 14:42   ` js/retire-preserve-merges, was " Johannes Schindelin
2021-10-14 15:50   ` Ævar Arnfjörð Bjarmason
2021-10-14 17:09     ` 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:

  List information:

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

  git send-email \ \ \ \ \ \

* 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

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).