All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Herland <johan@herland.net>
To: markus.heidelberg@web.de
Cc: git@vger.kernel.org, Peter Hutterer <peter.hutterer@who-t.net>,
	Junio C Hamano <gitster@pobox.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: Re: What's cooking in git.git (May 2009, #02; Sun, 17)
Date: Mon, 18 May 2009 23:55:21 +0200	[thread overview]
Message-ID: <200905182355.21645.johan@herland.net> (raw)
In-Reply-To: <200905182140.29953.markus.heidelberg@web.de>

On Monday 18 May 2009, Markus Heidelberg wrote:
> Johan Herland, 18.05.2009:
> > On Sunday 17 May 2009, Junio C Hamano wrote:
> > > [Will merge to "master" soon]
> > >
> > > * ph/submodule-rebase (Fri Apr 24 09:06:38 2009 +1000) 1 commit
> > >  + git-submodule: add support for --rebase.
> >
> > [..]
> >
> > Now, my question should not stop this feature from going into 'master',
> > except for the fact that if we also want to support merge, we should
> > rename the associated config variable:
> >
> > Instead of
> >
> >   submodule.<name>.rebase = true/false (false if unset)
> >
> > we should have something like
> >
> >   submodule.<name>.resolve = checkout/rebase/merge (checkout if unset)
>
> At least this would be inconsistent with options like
> branch.<name>.merge and branch.<name>.rebase

No. We cannot "reuse" the branch.<name>.merge/rebase semantics in this case: 
branch.<name>.merge takes a remote branch name to merge with, while 
submodule.<name>.merge needs no such name (the merge is well-specified 
without that extra name: the new submodule commit is merged into the 
submodule's current branch). Thus, submodule.<name>.merge is reduced to a 
simple bool indicating whether or not we should merge. At this point, 
however, it is not only inconsistent with branch.<name>.merge, it also 
directly conflicts with submodule.<name>.rebase (they cannot both be "true" 
simultaneously). They should therefore be collapsed into one tri-state 
config variable set to either 'rebase', 'merge' or 'false'/unset (which 
triggers the default 'checkout' behaviour). This is pretty much what I 
propose above.

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.


...Johan

-- 
Johan Herland, <johan@herland.net>
www.herland.net

  reply	other threads:[~2009-05-18 21:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-17  8:05 What's cooking in git.git (May 2009, #02; Sun, 17) Junio C Hamano
2009-05-17  9:45 ` Jakub Narebski
2009-05-17 17:58   ` Junio C Hamano
2009-05-17 18:27     ` Jakub Narebski
2009-05-17 11:41 ` David Aguilar
2009-05-18 13:36 ` Johan Herland
2009-05-18 19:40   ` Markus Heidelberg
2009-05-18 21:55     ` Johan Herland [this message]
2009-05-19  0:35       ` [PATCH] git-submodule: add support for --merge Johan Herland
2009-05-19  1:33       ` What's cooking in git.git (May 2009, #02; Sun, 17) Junio C Hamano
2009-05-19  7:23         ` Johan Herland
2009-05-19  8:17           ` Johannes Schindelin
2009-05-19  8:45             ` Johan Herland
2009-05-19 11:53               ` Johannes Schindelin
2009-05-19 13:26                 ` git submodule update --merge (Was: What's cooking in git.git (May 2009, #02; Sun, 17)) Johan Herland
2009-05-25 11:59                   ` Johan Herland
2009-05-25 18:33                     ` git submodule update --merge Junio C Hamano
2009-05-25 18:57                       ` Johannes Schindelin
2009-05-25 19:04                         ` Avery Pennarun
2009-05-25 19:54                           ` Johannes Schindelin
2009-05-25 22:48                             ` Johan Herland
2009-05-25 22:10                       ` Johan Herland
2009-05-25 23:15                     ` git submodule update --merge (Was: What's cooking in git.git (May 2009, #02; Sun, 17)) Peter Hutterer

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=200905182355.21645.johan@herland.net \
    --to=johan@herland.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=markus.heidelberg@web.de \
    --cc=peter.hutterer@who-t.net \
    /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.