Subject: submodules ux overhaul update (was: What's cooking in git.git (Nov 2021, #02; Wed, 3))

From: Emily Shaffer <[email-masked]>
Date: Thu, 4 Nov 2021 14:21:48 -0700

On Wed, Nov 03, 2021 at 05:17:41PM -0700, Junio C Hamano wrote:
> --------------------------------------------------
> [Cooking]
> 
> * gc/remote-with-fewer-static-global-variables (2021-10-28) 6 commits
>  - remote: add struct repository parameter to external functions
>  - remote: die if branch is not found in repository
>  - remote: remove the_repository->remote_state from static methods
>  - remote: use remote_state parameter internally
>  - remote: move static variables into per-repository struct
>  - t5516: add test case for pushing remote refspecs
> 
>  Code clean-up to eventually allow information on remotes defined
>  for an arbitrary repository to be read.
> 
>  Will merge to 'next'?

Glen says he thinks this is ready to go in, yeah.

> 
> 
> * ab/config-based-hooks-2 (2021-11-01) 18 commits
>  - run-command: remove old run_hook_{le,ve}() hook API
>  - receive-pack: convert push-to-checkout hook to hook.h
>  - read-cache: convert post-index-change to use hook.h
>  - commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
>  - git-p4: use 'git hook' to run hooks
>  - send-email: use 'git hook run' for 'sendemail-validate'
>  - git hook run: add an --ignore-missing flag
>  - hooks: convert worktree 'post-checkout' hook to hook library
>  - hooks: convert non-worktree 'post-checkout' hook to hook library
>  - merge: convert post-merge to use hook.h
>  - am: convert applypatch-msg to use hook.h
>  - rebase: convert pre-rebase to use hook.h
>  - hook API: add a run_hooks_l() wrapper
>  - am: convert {pre,post}-applypatch to use hook.h
>  - gc: use hook library for pre-auto-gc hook
>  - hook API: add a run_hooks() wrapper
>  - hook: add 'run' subcommand
>  - Merge branch 'ab/config-based-hooks-1' into ab/config-based-hooks-2
> 
>  More "config-based hooks".

Like I said in last submodule "newsletter", I don't think I can give
much better review on these ones than I have already.

> * js/branch-track-inherit (2021-10-18) 1 commit
>  - branch: add flags and config to inherit tracking
> 
>  "git -c branch.autosetupmerge=inherit branch new old" makes "new"
>  to have the same upstream as the "old" branch, instead of marking
>  "old" itself as its upstream.
> 
>  Under discussion.
>  cf. <[email-masked]>

Not sure when we can expect a reroll. Josh is OOO this week; thinking
possibly next week?

> * es/superproject-aware-submodules (2021-10-14) 4 commits
>  - 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).
> 
>  Under discussion.
>  cf. <[email-masked]>

Saw review from Stolee as well as Jonathan Tan; based on Stolee's
comments, I think it needs a reroll. I'll try and get one out today or
tomorrow.

---

Additionally, there's a WIP reroll of Jonathan Tan's conditional include
based on remote URL:
https://lore.kernel.org/git/cover.1635527389.git.jonathantanmy%40google.com

I owe a review there; other reviews welcome too.

---

Coming soon: look for an RFC from Glen on branch creation with
--recurse-submodules.

Thanks, all.

 - Emily