From: Jens Lehmann <Jens.Lehmann@web.de>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
Git Mailing List <git@vger.kernel.org>,
Kevin Ballard <kevin@sb.org>, Jon Seymour <jon.seymour@gmail.com>,
Chris Packham <judge.packham@gmail.com>,
Marc Branchaud <marcnarc@xiplink.com>
Subject: Re: [PATCH v3 2/3] Add the 'fetch.recurseSubmodules' config setting
Date: Fri, 12 Nov 2010 12:54:33 +0100 [thread overview]
Message-ID: <4CDD2AF9.6040403@web.de> (raw)
In-Reply-To: <20101111190053.GH16972@burratino>
Am 11.11.2010 20:00, schrieb Jonathan Nieder:
> Junio C Hamano wrote:
>
>> I think the motivation behind having a way to read it from .gitmodules is
>> so that project can suggest the default for convenience (e.g. "almost
>> everybody who interacts with this project wants these submodules checked
>> out and kept updated").
>
> Yes, that makes some sense to me. Except wouldn't it be a single
> configuration item? "These submodules should be checked out in all
> but unusual situations, so check them out automatically and keep them
> updated."
Hmm, but we have at least three modes of how to update them:
1) Never fetch the submodule (to get new commits the user has to run
"git fetch --recurse-submodules" by hand)
2) Fetch the submodule each time you fetch the superproject (Which is
really handy when you do development in the submodule too but can
be really inconvenient when you don't)
3) Update submodules only when new recorded commits are fetched in
the superproject (This mode is not added with the current patch
series but will be in one of the next)
So you would need a config option for that anyway, no? And that is why
I'd rather like to have a separate fetch option to control that behavior
instead of an implicit "if-it's-to-be-checked-out-fetch-it-too" approach.
> Maybe a person setting this to false actually means "This submodule
> has its url set to a repository that is updated very frequently, and
> most updates are not relevant to the superproject." Unfortunately, I
> think the result would be a poor user experience: when an update comes
> that _is_ important to the superproject, what happens?
>
> $ git fetch
> ... go on plane ...
> $ git merge @{u} && git submodule update --no-fetch --recursive
> [...]
> fatal: reference is not a tree: f1c596a3895643d0969a15b8e945bf0c0072e470
>
> Hmm. I think in that scenario a better solution would be to point the
> submodule url point to a project-specific clone that is updated less
> frequently.
>
> What am I missing?
That situation should be handled by method 3) above which was proposed
for such a use case.
next prev parent reply other threads:[~2010-11-12 12:18 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-10 23:53 [PATCH v3 0/3] Teach fetch and pull to recursively fetch submodules Jens Lehmann
2010-11-10 23:54 ` [PATCH v3 1/3] fetch/pull: Add the --recurse-submodules option Jens Lehmann
2010-11-10 23:55 ` [PATCH v3 2/3] Add the 'fetch.recurseSubmodules' config setting Jens Lehmann
2010-11-11 0:02 ` Jonathan Nieder
2010-11-11 8:14 ` Jens Lehmann
2010-11-11 8:27 ` Jonathan Nieder
2010-11-11 18:31 ` Junio C Hamano
2010-11-11 19:00 ` Jonathan Nieder
2010-11-12 11:54 ` Jens Lehmann [this message]
2010-11-12 15:52 ` Jonathan Nieder
2010-11-12 19:48 ` Jens Lehmann
2010-11-12 20:16 ` Jonathan Nieder
2010-11-12 21:58 ` Jens Lehmann
2010-11-12 11:40 ` Jens Lehmann
2010-11-10 23:55 ` [PATCH v3 3/3] Submodules: Add the "fetchRecurseSubmodules" config option Jens Lehmann
2010-11-11 0:05 ` [PATCH v3 0/3] Teach fetch and pull to recursively fetch submodules Jonathan Nieder
2010-11-11 8:18 ` Jens Lehmann
2010-11-12 12:54 ` [PATCH v4 1/3] fetch/pull: Add the --recurse-submodules option Jens Lehmann
2010-11-12 19:54 ` Jonathan Nieder
2010-11-12 20:22 ` Jens Lehmann
2010-12-09 21:16 ` Junio C Hamano
2010-12-09 23:07 ` Jens Lehmann
2010-12-10 17:30 ` Junio C Hamano
2010-12-10 18:03 ` 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=4CDD2AF9.6040403@web.de \
--to=jens.lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jon.seymour@gmail.com \
--cc=jrnieder@gmail.com \
--cc=judge.packham@gmail.com \
--cc=kevin@sb.org \
--cc=marcnarc@xiplink.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).