git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Randall S. Becker" <rsbecker@nexbridge.com>
To: "'Emily Shaffer'" <emilyshaffer@google.com>,
	<git@vger.kernel.org>, <avarab@gmail.com>, <jrnieder@gmail.com>,
	<albertcui@google.com>, <gitster@pobox.com>,
	<matheus.bernardino@usp.br>
Subject: RE: RFC/Discussion - Submodule UX Improvements
Date: Tue, 20 Apr 2021 15:29:34 -0400	[thread overview]
Message-ID: <019c01d7361b$82344700$869cd500$@nexbridge.com> (raw)
In-Reply-To: <YH8iTDNZpsoCu+lx@google.com>

On April 20, 2021 2:50 PM, Emily Shaffer wrote:
> On Mon, Apr 19, 2021 at 08:56:43AM -0400, Aaron Schrab wrote:
> >
> > At 16:36 -0700 16 Apr 2021, Emily Shaffer <emilyshaffer@google.com>
> wrote:
> > > - git switch / git checkout
> >
> > (snip)
> >
> > > 4. A new branch with the same name is created on each submodule.
> > >  a. If there is a naming conflict, we could prompt the user to resolve
it, or
> > >     we could just check out the branch by that name and print a
warning to
> the
> > >     user with advice on how to solve it (cd submodule && git switch -c
> > >     different-branch-name HEAD@{1}). Maybe we could skip the
> warning/advice if
> > >     the tree is identical to the tree we would have used as the start
point
> > >     (that is, the user switched branches in the submodule, then said
"oh crap"
> > >     and went back and switched branches in the superproject).
> > >  b. Tracking info is set appropriately on each new branch to the
upstream of
> > >     the branch referenced by the parent of the new superproject
commit, OR
> to
> > >     the default branch's upstream.
> > > 5. The new branch is checked out on each of the submodules.
> >
> > In many cases the branch name for the superproject isn't going to be
> > appropriate for submodules.
> >
> > This seems likely to create a LOT of junk branches. Do you also have a
> > proposal for cleaning those up?
> 
> Yeah, I think we have a point internally for "clean up alllll the
submodule
> branches that are unreferenced/already merged". You're right that in a
> workflow where I have a superproject with eight submodules, because I need
> them to build, but only do active development on one submodule out of the
> eight, I'll have a ton of junk refs in the other seven submodules. Yuck :)

In fact, this yuck is a reason why many organizations have gone to
monolithic repositories instead of multiple smaller ones - because of the
touch points. However, the argument for using multiple smaller repos mirrors
this particular use case, so while "yuck", it might have value when
mirroring what happens in the issue tracking systems that have massive touch
points. We were there and moved to monolithic per product release group, but
when we had the other approach, this particular feature actually would have
helped a whole lot. I wonder whether this mess might have more value than we
think.

Regards,
Randall

-- Brief whoami:
NonStop developer since approximately 211288444200000000
UNIX developer since approximately 421664400
MVS not admitting to anything
-- In my real life, I talk too much.




  reply	other threads:[~2021-04-20 19:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-16 23:36 RFC/Discussion - Submodule UX Improvements Emily Shaffer
2021-04-18  5:22 ` Christian Couder
2021-04-20 23:10   ` Emily Shaffer
2021-04-19  3:20 ` Philippe Blain
2021-04-20 23:03   ` Emily Shaffer
2021-04-20 23:30     ` Junio C Hamano
2021-04-21  2:27     ` Philippe Blain
2021-04-19 12:56 ` Randall S. Becker
2021-04-19 12:56 ` Aaron Schrab
2021-04-20 18:49   ` Emily Shaffer
2021-04-20 19:29     ` Randall S. Becker [this message]
2021-04-19 19:14 ` Jacob Keller
2021-04-19 19:28   ` Randall S. Becker
2021-04-20 16:18     ` Jacob Keller
2021-04-20 18:47       ` Emily Shaffer
2021-04-20 19:38         ` Randall S. Becker
2021-04-21  6:57         ` Jacob Keller
2021-04-22 15:32 ` Jacob Keller

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='019c01d7361b$82344700$869cd500$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=albertcui@google.com \
    --cc=avarab@gmail.com \
    --cc=emilyshaffer@google.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=matheus.bernardino@usp.br \
    /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 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 NNTP newsgroup(s).