From: Lars Schneider <larsxschneider@gmail.com>
To: Stefan Beller <sbeller@google.com>, bmwill@google.com
Cc: "git@vger.kernel.org" <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: Submodule regression in 2.14?
Date: Thu, 17 Aug 2017 23:21:56 +0200 [thread overview]
Message-ID: <FCB6097F-9F8D-4FDD-A8CE-D936C9CE62E7@gmail.com> (raw)
In-Reply-To: <CAGZ79kajWhEOtqZLrYSAVhM_ZLDiQd9DP9GeL+J=tqach5V65A@mail.gmail.com>
> On 16 Aug 2017, at 20:51, Stefan Beller <sbeller@google.com> wrote:
>
> On Wed, Aug 16, 2017 at 11:35 AM, Lars Schneider
> <larsxschneider@gmail.com> wrote:
>> Hi,
>>
>> I think we discovered a regression in Git 2.14.1 today.
>> It looks like as if "git submodule update --init --recursive" removes
>> the "skip submodules" config.
>>
>> Consider the following steps:
>>
>> git clone https://server/repo.git
>> cd repo
>> git config --local submodule.some/other/repo.update none
>> git submodule update --init --recursive
>> git pull --recurse-submodules
>>
>> With Git 2.14 the last "git pull" will clone the "some/other/repo"
>> submodule. This did not happen with Git 2.13.
>>
>> Bug or feature? I don't have anymore time for Git today. I am happy to
>> provide a proper test case tomorrow, though.
>
> $ git log --oneline v2.13.0..v2.14.1 -- git-submodule.sh
> 532139940c add: warn when adding an embedded repository
> (I am confident this is not the suspect, let's keep searching.
> Not a lot happened in submodule land apparently)
>
> Looking through all commits v2.13..v2.14 doesn't have me
> suspect any of them.
>
> Any chance the "did not happen with 2.13" was not
> freshly cloned but tested on an existing repo? If so a hot
> candidate for suspicion is a93dcb0a56 (Merge branch
> 'bw/submodule-is-active', 2017-03-30), IMHO, just
> gut feeling, though.
>
> Oh, wait.
> $ git log --oneline v2.13.0..v2.14.1 -- builtin/pull.c
> c9c63ee558 Merge branch 'sb/pull-rebase-submodule'
> a6d7eb2c7a pull: optionally rebase submodules (remote submodule changes only)
> could also be a culprit. Do you have pull.rebase set?
I bisected the problem today and "a6d7eb2c7a pull: optionally rebase submodules
(remote submodule changes only)" is indeed the culprit.
The commit seems to break the following test case.
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index dcac364c5f..24f9729015 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -1289,4 +1289,19 @@ test_expect_success 'init properly sets the config' '
test_must_fail git -C multisuper_clone config --get submodule.sub1.active
'
+test_expect_success 'submodule update and git pull with disabled submodule' '
+ test_when_finished "rm -rf multisuper_clone" &&
+ pwd=$(pwd) &&
+ git clone file://"$pwd"/multisuper multisuper_clone &&
+ (
+ cd multisuper_clone &&
+ git config --local submodule.sub0.update none &&
+ git submodule update --init --recursive &&
+ git pull --recurse-submodules &&
+ git submodule status | cut -c 1,43- >actual
+ ) &&
+ ls &&
+ test_cmp expect multisuper_clone/actual
+'
+
test_done
I am not familiar with the code. Does anyone see the problem
right away?
Thanks,
Lars
next prev parent reply other threads:[~2017-08-17 21:22 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-16 18:35 Submodule regression in 2.14? Lars Schneider
2017-08-16 18:51 ` Stefan Beller
2017-08-16 18:53 ` Stefan Beller
2017-08-17 21:21 ` Lars Schneider [this message]
2017-08-17 21:55 ` Stefan Beller
2017-08-18 2:13 ` Junio C Hamano
2017-08-18 4:02 ` Stefan Beller
2017-08-18 16:50 ` Junio C Hamano
2017-08-18 19:09 ` Stefan Beller
2017-08-19 6:51 ` Junio C Hamano
2017-08-21 16:05 ` Heiko Voigt
2017-08-21 16:42 ` Stefan Beller
2017-08-22 15:33 ` Heiko Voigt
2017-08-22 18:10 ` Stefan Beller
2017-08-25 9:10 ` Heiko Voigt
2017-08-25 16:38 ` Stefan Beller
2017-08-25 16:53 ` Junio C Hamano
2017-08-21 16:48 ` Junio C Hamano
2017-08-22 15:50 ` Heiko Voigt
2017-08-21 16:46 ` Stefan Beller
2017-08-21 22:45 ` Junio C Hamano
2017-08-18 13:12 ` Lars Schneider
2017-08-18 17:16 ` Stefan Beller
2017-08-18 19:10 ` Junio C Hamano
2017-08-18 22:04 ` [PATCH] pull: respect submodule update configuration Stefan Beller
2017-08-18 22:05 ` Stefan Beller
2017-08-19 6:17 ` Junio C Hamano
2017-08-19 6:24 ` Junio C Hamano
2017-08-21 16:20 ` Heiko Voigt
2017-08-21 16:55 ` Stefan Beller
2017-08-21 17:20 ` Lars Schneider
2017-08-21 17:48 ` Stefan Beller
2017-08-21 18:21 ` Brandon Williams
2017-08-21 22:52 ` Junio C Hamano
2017-08-22 14:50 ` Lars Schneider
2017-08-22 17:51 ` Stefan Beller
2017-08-22 18:55 ` Brandon Williams
2017-08-19 18:24 ` Submodule regression in 2.14? Lars Schneider
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=FCB6097F-9F8D-4FDD-A8CE-D936C9CE62E7@gmail.com \
--to=larsxschneider@gmail.com \
--cc=bmwill@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sbeller@google.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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).