From: Jens Lehmann <Jens.Lehmann@web.de>
To: Git Mailing List <git@vger.kernel.org>
Cc: Junio C Hamano <gitster@pobox.com>, Jonathan Nieder <jrnieder@gmail.com>
Subject: [PATCH v2 0/7] Teach fetch/pull the on-demand mode and make it the default
Date: Tue, 01 Mar 2011 23:59:28 +0100 [thread overview]
Message-ID: <4D6D7A50.5090802@web.de> (raw)
So here is version 2 of the on-demand recursive fetch for submodules.
Changes since the last version:
*) Add a name parameter to parse_fetch_recurse_submodules_arg()
*) Enhance description of the "--submodule-default" fetch option
*) Free the changed_submodule_paths string_list at the end of
fetch_populated_submodules() to aid libification and to make
valgrind happy
*) Add a comment for the while loop in check_for_new_submodule_commits()
*) Use "--all" instead of "--branches" and "--remotes" for rev-list to
include tags too
*) Compute the argc value properly instead of hard coding it in
check_for_new_submodule_commits()
*) Change size_t casts to intptr_t where appropriate
*) Use "rev-list --not --all" when checking if a submodule commit exists
instead of a simple lookup/rev-parse to make sure they are not only
present but are reachable from a ref
*) Describe that fetch and pull only work on populated submodules for
now in the BUGS section of their man pages (done in a separate commit
because this doesn't belong to a special commit in this series but
also to the functionality that has already been merged)
Thanks to Jonathan an Junio for the feedback that lead to these changes.
Issues that were raised but not addressed yet:
*) Should this option be called "on-demand" or "changed" or maybe even
"updated"?
I have no strong feelings about this, me just thinks the name should
tell somehow that only submodules where new commits are recorded in
the superproject which aren't already present locally will be fetched.
Opinions?
*) Check the remote tracking refs in the submodule in tests instead of
the output of the fetch command
Jens Lehmann (7):
fetch/pull: recurse into submodules when necessary
fetch/pull: Add the 'on-demand' value to the --recurse-submodules
option
config: teach the fetch.recurseSubmodules option the 'on-demand'
value
Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule'
option
fetch/pull: Don't recurse into a submodule when commits are already
present
submodule update: Don't fetch when the submodule commit is already
present
fetch/pull: Describe --recurse-submodule restrictions in the BUGS
section
Documentation/config.txt | 12 ++-
Documentation/fetch-options.txt | 27 ++++-
Documentation/git-fetch.txt | 9 ++
Documentation/git-pull.txt | 11 ++-
Documentation/gitmodules.txt | 4 +-
builtin/fetch.c | 47 ++++++--
git-pull.sh | 3 +
git-submodule.sh | 5 +-
submodule.c | 152 +++++++++++++++++++++--
submodule.h | 11 ++-
t/t5526-fetch-submodules.sh | 255 +++++++++++++++++++++++++++++++++++++++
t/t7403-submodule-sync.sh | 2 +-
t/t7406-submodule-update.sh | 20 +++
13 files changed, 521 insertions(+), 37 deletions(-)
--
1.7.4.1.291.g6060
next reply other threads:[~2011-03-01 23:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-01 22:59 Jens Lehmann [this message]
2011-03-01 23:01 ` [PATCH v2 1/7] fetch/pull: recurse into submodules when necessary Jens Lehmann
2011-03-02 15:42 ` Marc Branchaud
2011-03-01 23:01 ` [PATCH v2 2/7] fetch/pull: Add the 'on-demand' value to the --recurse-submodules option Jens Lehmann
2011-03-02 16:00 ` Marc Branchaud
2011-03-02 16:02 ` Marc Branchaud
2011-03-01 23:02 ` [PATCH v3 3/7] config: teach the fetch.recurseSubmodules option the 'on-demand' value Jens Lehmann
2011-03-02 16:02 ` Marc Branchaud
2011-03-01 23:03 ` [PATCH v2 4/7] Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option Jens Lehmann
2011-03-01 23:03 ` [PATCH v2 5/7] fetch/pull: Don't recurse into a submodule when commits are already present Jens Lehmann
2011-03-02 16:08 ` Marc Branchaud
2011-03-01 23:04 ` [PATCH v2 6/7] submodule update: Don't fetch when the submodule commit is " Jens Lehmann
2011-03-01 23:04 ` [PATCH v2 7/7] fetch/pull: Describe --recurse-submodule restrictions in the BUGS section Jens Lehmann
2011-03-02 20:53 ` Jens Lehmann
2011-03-02 16:09 ` [PATCH v2 0/7] Teach fetch/pull the on-demand mode and make it the default Marc Branchaud
2011-03-02 23:35 ` 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=4D6D7A50.5090802@web.de \
--to=jens.lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.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).