git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What's cooking in git.git (May 2009, #02; Sun, 17)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
May 19, 2009, 11:53 UTC
Message-ID
<alpine.DEB.1.00.0905191348460.4266@intel-tinevez-2-302>
In-Reply-To
<200905191045.39108.johan@herland.net>
Hi,
On Tue, 19 May 2009, Johan Herland wrote:
Show 27 quoted lines
> On Tuesday 19 May 2009, Johannes Schindelin wrote:
> > On Tue, 19 May 2009, Johan Herland wrote:
> > > On Tuesday 19 May 2009, Junio C Hamano wrote:
> > > > Johan Herland <johan@herland.net> writes:
> > > > > After some thinking, I don't like my original name 
> > > > > submodule.<name>.resolve, since ".resolve" sounds more like a 
> > > > > merge strategy or conflict resolution method, than a "how to 
> > > > > deal with submodule update" choice. I propose 
> > > > > submodule.<name>.update instead.
> > > >
> > > > Sounds like a plan, even though I do not necessarily agree with 
> > > > the idea of automatically rebinding what is at the submodule path 
> > > > every time you update the toplevel project tree.
> > >
> > > I agree that in many workflows this does not make sense, but I 
> > > believe that (as with 'git submodule update --rebase') there are 
> > > some cases where it does make sense, and I see no reason to support 
> > > one, but not the other.
> >
> > We have a _lot_ of obscure things that are not supported by core Git, 
> > but are _very_ easy to add as _tiny_ add-on scripts by the user, 
> > without the need for "official" feature support.
> >
> > Just like this one
> 
> Does that mean you're also opposed to 'git submodule update --rebase' 
> (which is already in 'next', and is even Signed-off-by yourself)?

No, because -- as I said myself already a couple of times -- I can see this supporting a common workflow.

> I still don't see any reason why one should be added (--rebase), and not 
> the other (--merge).

When you rebase, you see your personal stuff (i.e. stuff that you do not want to submit, or not in its current form, or that you submitted and it waits for inclusion) on top of things right away.

In contrast, if you merge, you will have a different state from the upstream _forever_. Even if your stuff gets included.

Needless to say, I do not see much use for the latter case, but tons for the former.

Show 5 quoted lines
> Dropping both would at least be consistent from core Git's POV, but 
> following that thread, we should probably also drop "git pull" (which is 
> just a simple wrapper around "git fetch" and "git merge"), and maybe 
> also "git clone" (which can easily be scripted, using "git init", "git 
> remote", "git fetch" and "git branch")...
I will not bother to comment on this.

Ciao, Dscho

Previous: Johan HerlandNext: Johan Herland
Message 14 of 23 in “What's cooking in git.git (May 2009, #02; Sun, 17)”
  1. Junio C HamanoMay 17, 2009
  2. Jakub NarebskiMay 17, 2009
  3. Junio C HamanoMay 17, 2009
  4. Jakub NarebskiMay 17, 2009
  5. David AguilarMay 17, 2009
  6. Johan HerlandMay 18, 2009
  7. Markus HeidelbergMay 18, 2009
  8. Johan HerlandMay 18, 2009
  9. git-submodule: add support for --merge.Johan Herland, May 19, 2009
  10. Junio C HamanoMay 19, 2009
  11. Johan HerlandMay 19, 2009
  12. Johannes SchindelinMay 19, 2009
  13. Johan HerlandMay 19, 2009
  14. Johannes SchindelinMay 19, 2009
  15. Johan HerlandMay 19, 2009
  16. Johan HerlandMay 25, 2009
  17. Junio C HamanoMay 25, 2009
  18. Johannes SchindelinMay 25, 2009
  19. Avery PennarunMay 25, 2009
  20. Johannes SchindelinMay 25, 2009
  21. Johan HerlandMay 25, 2009
  22. Johan HerlandMay 25, 2009
  23. Peter HuttererMay 25, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.