From: Jens Lehmann <Jens.Lehmann@web.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Kevin Ballard <kevin@sb.org>,
Johannes Sixt <j.sixt@viscovery.net>,
Git Mailing List <git@vger.kernel.org>
Subject: [PATCH 0/2] fix problems with recursive submodule fetching
Date: Sun, 19 Sep 2010 00:32:05 +0200 [thread overview]
Message-ID: <4C953DE5.6020900@web.de> (raw)
In-Reply-To: <329A2E43-ADE3-467C-A2A6-24ACB9DF641E@sb.org>
Am 18.09.2010 02:29, schrieb Kevin Ballard:
> Yep, this patch fixes the output issue. Now all submodules are reported.
Thanks again for testing this, the first patch of this series fixes
that and adds the necessary tests to not let that happen again.
The second patch lets "git fetch" use the index instead of .gitmodules
to get the list of submodules to fetch. I think this makes sense, even
if fetch didn't need to read the index until now, but the gitlink
entries are not susceptible to configuration errors like those from
.gitmodules (And "git submodule update" uses the index via "git
ls-files" too, so we'll also avoid regressions that way).
Any objections to the second patch?
> However, they're still not prefixed with the previous layers, so it appears like all submodules are rooted in the current directory, which is obviously not true.
Yes, as promised I will address this in a patch soon to come. And I
will also post a patch to add a configuration option to control the
recursive fetching.
Junio: IMO these future patches are needed before this feature can be
merged into master.
> And of course the performance issue is still relevant.
Hmm, I think it still the right thing to do to a full fetch of all
submodule changes, as you can't possibly know at fetch time what you'll
need later. But I have to admit that "git submodule update" does some
kind of optimization, as it only fetches submodules where the commit
recorded in the superproject has changed. But IMO this aims a bit too
short, as it still can lead to commits missing in submodules (which are
on branches you didn't check out and ran "git submodule update" on).
The aim of these changes is to make you able to do a fetch before you go
onto a plane and then check out every branch of the superproject without
having a commit missing from a submodule. And even more, you should be
able to use all new submodule commits not yet committed inside the
superproject without being able to forget to fetch them before you leave.
But maybe we can reduce this performance impact by running the submodule
fetches in threads. Dunno yet, I'll look into that as soon as I have the
other two patches ready.
These patches apply to current next or jl/fetch-submodule-recursive.
Jens Lehmann (2):
fetch: Fix a bug swallowing the output of recursive submodule
fetching
fetch: Get submodule paths from index and not from .gitmodules
submodule.c | 26 +++++++++++++++++++-------
t/t5526-fetch-submodules.sh | 30 +++++++++++++++++++++++++-----
2 files changed, 44 insertions(+), 12 deletions(-)
--
1.7.3.rc2.234.g00c0
next prev parent reply other threads:[~2010-09-18 22:34 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-29 15:49 [RFC PATCH 0/2] Teach fetch and pull to recursively fetch submodules too Jens Lehmann
2010-08-29 15:50 ` [PATCH 1/2] fetch/pull: Recursively fetch populated submodules Jens Lehmann
2010-08-29 15:51 ` [PATCH 2/2] Submodules: Add the new "fetch" config option Jens Lehmann
2010-08-30 7:34 ` Junio C Hamano
2010-08-30 17:37 ` [PATCH 2/2 v2] Submodules: Add the new "fetch" config option for fetch and pull Jens Lehmann
2010-08-29 17:29 ` [RFC PATCH 0/2] Teach fetch and pull to recursively fetch submodules too Ævar Arnfjörð Bjarmason
2010-08-29 22:34 ` Jens Lehmann
2010-08-30 5:58 ` Junio C Hamano
2010-08-30 17:41 ` Jens Lehmann
2010-09-15 0:18 ` Kevin Ballard
2010-09-15 2:40 ` Kevin Ballard
2010-09-16 13:55 ` [PATCH] fetch: Get submodule paths from index and not from .gitmodules Jens Lehmann
2010-09-16 19:29 ` Kevin Ballard
2010-09-17 11:31 ` Jens Lehmann
2010-09-17 12:06 ` Johannes Sixt
2010-09-17 12:22 ` Jens Lehmann
2010-09-17 12:32 ` Johannes Sixt
2010-09-17 14:01 ` Jens Lehmann
2010-09-17 14:14 ` Johannes Sixt
2010-09-18 0:29 ` Kevin Ballard
2010-09-18 22:32 ` Jens Lehmann [this message]
2010-09-18 22:33 ` [PATCH 1/2] fetch: Fix a bug swallowing the output of recursive submodule fetching Jens Lehmann
2010-09-18 22:35 ` [PATCH 2/2] fetch: Get submodule paths from index and not from .gitmodules Jens Lehmann
2010-09-19 3:54 ` [PATCH 0/2] fix problems with recursive submodule fetching Kevin Ballard
2010-09-19 16:40 ` Jens Lehmann
2010-09-20 6:40 ` Kevin Ballard
2010-10-05 20:43 ` [PATCH v2 0/3] Teach fetch and pull to recursively fetch submodules too Jens Lehmann
2010-10-05 20:43 ` [PATCH 1/3] fetch/pull: Recursively fetch populated submodules Jens Lehmann
2010-10-05 20:44 ` [PATCH 2/3] Submodules: Add the new "fetch" config option for fetch and pull Jens Lehmann
2010-10-07 13:33 ` Jon Seymour
2010-10-09 19:22 ` Jens Lehmann
2010-10-09 19:54 ` Jonathan Nieder
2010-10-09 20:12 ` Jens Lehmann
2010-10-05 20:45 ` [PATCH 3/3] Add the 'fetch.recursive' config setting Jens Lehmann
2010-10-05 21:06 ` [PATCH v2 0/3] Teach fetch and pull to recursively fetch submodules too Junio C Hamano
2010-10-06 22:52 ` Kevin Ballard
2010-10-06 23:22 ` Jonathan Nieder
2010-10-09 19:28 ` Jens Lehmann
2010-10-09 20:02 ` Jonathan Nieder
2010-10-09 20:37 ` Jens Lehmann
2010-10-21 18:29 ` Jonathan Nieder
2010-10-21 21:15 ` Jens Lehmann
2010-10-09 19:17 ` Jens Lehmann
2010-10-13 14:48 ` Marc Branchaud
2010-10-13 19:32 ` Jens Lehmann
2010-10-13 19:34 ` Kevin Ballard
2010-10-13 20:06 ` Jens Lehmann
2010-10-13 20:11 ` Kevin Ballard
2010-10-14 1:01 ` Chris Packham
2010-10-14 18:14 ` Jens Lehmann
2010-10-14 18:31 ` Chris Packham
2010-10-13 21:27 ` Marc Branchaud
2010-10-13 21:31 ` Kevin Ballard
2010-09-15 11:32 ` [RFC PATCH 0/2] " Jens Lehmann
2010-09-15 23:12 ` Kevin Ballard
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=4C953DE5.6020900@web.de \
--to=jens.lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j.sixt@viscovery.net \
--cc=kevin@sb.org \
/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).