git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jens Lehmann <Jens.Lehmann@web.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: [1.7.5] Let fetch and pull recurse into submodules when new commits are recorded
Date: Sat, 19 Feb 2011 17:40:04 +0100	[thread overview]
Message-ID: <4D5FF264.5050002@web.de> (raw)
In-Reply-To: <7vwrky5f48.fsf@alter.siamese.dyndns.org>

Am 18.02.2011 02:02, schrieb Junio C Hamano:
> It seems that not many things need breaking, but we will break some.
> 
> Here are the ones that needed discussion and were discussed that I am
> aware of, with my comments (which shouldn't be read as final decision).

Sorry for not having posted this earlier:

Proposal:
Add a new "on-demand" mode to fetch and pull and make it the default.

When using the new "on-demand" mode every time new commits are fetched
in the superproject they will be parsed for submodule commits. If these
commits aren't present in a populated submodule, run "git fetch" inside
that submodule. (Also see this thread for an in depth discussion:
http://article.gmane.org/gmane.comp.version-control.git/158979/ )

Additionally change "git submodule update" to only then run fetch in a
submodule when the commit it wants to check out is not already present
there.

This behavior can be configured per submodule, per repo and globally.

Advantages:
* Disconnected operation. Right now it is really easy to forget to fetch
  all submodules before you get on a plane, possibly leaving you unable
  to check out certain revisions.
* "git diff --submodule" (which is used by git gui and gitk) needs those
   submodule commits to provide meaningful output
* "git merge" needs them to be able to merge submodule commits
* This is the least surprising behavior for new submodule users
(The upcoming recursive checkout will rely on the commits being present
too)

Risks:
People might be annoyed by the extra time it takes to fetch the submodules
when they only expect the superproject to be fetched. Others might be
surprised that "git submodule update" doesn't do a fetch anymore.

Migration plan:
Announce the change in behavior and document how to easily configure the
old behavior when wanted and enable this functionality in 1.7.5.

  parent reply	other threads:[~2011-02-19 16:40 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-18  1:02 [1.8.0] Summary of the discussions Junio C Hamano
2011-02-18  2:08 ` Martin von Zweigbergk
2011-02-19 16:40 ` Jens Lehmann [this message]
2011-02-21 15:12   ` [1.7.5] Let fetch and pull recurse into submodules when new commits are recorded Marc Branchaud
2011-02-21 17:38     ` Jens Lehmann
2011-02-19 16:59 ` [1.8.0] Recursively checkout, merge and reset populated submodules Jens Lehmann
2011-02-20  6:49   ` Junio C Hamano
2011-02-21 16:13   ` Marc Branchaud
2011-02-21 18:30     ` Jens Lehmann
2011-02-21 19:56       ` Marc Branchaud
2011-02-21 22:54         ` Jens Lehmann
2011-02-22  0:51           ` Miles Bader
2011-02-22  2:32             ` Phil Hord
2011-02-22  8:11               ` Jens Lehmann

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=4D5FF264.5050002@web.de \
    --to=jens.lehmann@web.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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).