All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Lehmann <Jens.Lehmann@web.de>
To: Johan Herland <johan@herland.net>
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>, git@vger.kernel.org
Subject: Re: RFC: Making submodules "track" branches
Date: Tue, 08 Jun 2010 18:06:34 +0200	[thread overview]
Message-ID: <4C0E6A8A.70608@web.de> (raw)
In-Reply-To: <201006080912.31448.johan@herland.net>

Am 08.06.2010 09:12, schrieb Johan Herland:
> - When switching branches in the superrepo, you sometimes also want to 
> switch branches in the submodule. This is signalled by changing the 
> submodules.subthing.branch variable in .gitmodules between the two branches. 
> However, it means that the submodule's update/pull operation must also be 
> done on 'checkout' in the superrepo.

Hm, I always want the submodules to switch branches along with the super-
project (I posted a RFC patch for that), but i can see other people don't
want that at all or just for some submodules. But am I wrong assuming that
it's either "switch branches in submodules too every time" or "never do
that" for a single submodule?


> - How to handle local/uncommitted (staged or unstaged) modifications in a 
> submodule when pulling or switching branches in the superrepo? The right 
> answer here is probably to do the same as in the no-submodule case, i.e. to 
> refuse if it would clobber/conflict with the local modifications.

Yup. I thing one goal for submodules is that they should blend in with
the superprojects as far as possible (unless configured to not to).


> - When you track submodule branches instead of commits, the actual commit 
> referenced in the superrepo is no longer as important (provided it's part of 
> the ancestry of the submodule branch you're tracking). However, diff/status 
> will still list the submodule as changed because you checked out a different 
> commit from what Git has recorded. This raises two concerns: (1) What 
> _should_ be considered "changed" from the diff/status perspective when 
> tracking submodule branches? and (2) When do you update the commit reference 
> in the submodule? "never" would work (since you're checking out a different 
> commit anyway), "always" would also work (for the same reason), but would 
> litter the superrepo history with submodule updates. There may be a better 
> alternative somewhere in between.

Don't record a commit in the first place, following a branch is not bound
to a special commit, so pretending to do that might do more harm than good.
Just putting the 0-hash there might be the solution.


> - If you want to give the illusion of "one big repo" then maybe it should 
> also be possible to trigger submodule commits from a superrepo commit? (i.e. 
> having a single toplevel "git commit" also trigger commits in submodules). 
> Some users will want to specify the commit message for each submodule 
> separately (IMHO the better approach), while some will want to give only one 
> commit message that is reused in every submodule commit.

Hm, personally I am fine with first committing in the submodules and then
in the superproject.

  parent reply	other threads:[~2010-06-08 16:06 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-07 23:29 RFC: Making submodules "track" branches Ævar Arnfjörð Bjarmason
2010-06-08  7:12 ` Johan Herland
2010-06-08 15:34   ` Marc Branchaud
2010-06-08 16:09     ` Ævar Arnfjörð Bjarmason
2010-06-08 19:32       ` Marc Branchaud
2010-06-08 20:23         ` Ævar Arnfjörð Bjarmason
2010-06-09 14:36           ` Marc Branchaud
2010-06-08 16:06   ` Jens Lehmann [this message]
2010-06-08 21:52     ` Johan Herland
2010-06-09  7:23       ` Jens Lehmann
2010-06-09  8:22         ` Johan Herland
2010-06-09 12:47           ` Steven Michalske
2010-06-09 14:37             ` Johan Herland
2010-06-08 23:09     ` Junio C Hamano
2010-06-08 23:19       ` Ævar Arnfjörð Bjarmason
2010-06-09  7:09         ` Jens Lehmann
2010-06-09  7:15       ` Jens Lehmann
2010-06-09 15:36         ` Marc Branchaud
2010-06-09 18:54           ` Ævar Arnfjörð Bjarmason
2012-11-20 11:16             ` nottrobin
2012-11-20 12:04               ` W. Trevor King

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=4C0E6A8A.70608@web.de \
    --to=jens.lehmann@web.de \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=johan@herland.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.