From: Jonathan Nieder <jrnieder@gmail.com>
To: Stefan Beller <sbeller@google.com>
Cc: Junio C Hamano <gitster@pobox.com>, git <git@vger.kernel.org>
Subject: Re: [PATCH] git-submodule.sh: try harder to fetch a submodule
Date: Tue, 15 May 2018 13:04:32 -0700 [thread overview]
Message-ID: <20180515200432.GA40044@aiede.svl.corp.google.com> (raw)
In-Reply-To: <CAGZ79ka_8GmL9j9mTNLkbqN3xNkfCfedzs2st-tH8jMjQ2A4DQ@mail.gmail.com>
Stefan Beller wrote:
> I'll resend it with a warning (using say()).
Thanks, makes sense.
> I think we have 2 bugs and this is merely fixing the second bug.
I'm fearing that there are more than two.
[...]
> $ git init confused-head
> $ (cd confused-head && git branch test \
> $(git commit-tree $(git write-tree) -m test))
> $ git clone --no-checkout --depth=1 \
> --separate-git-dir=test.git confused-head/.git test
> Cloning into 'test'...
> warning: --depth is ignored in local clones; use file:// instead.
> done.
>
> $ git -C test.git config remote.origin.fetch
> $ echo $?
> 1
>
> (A) Despite the warning of --depth having no impact, the
> omission thereof changes the repository state.
> (B) There is no remote.origin.fetch configuration, which
> is weird. See builtin/clone.c:830, that states for this case:
I can reproduce the issue without submodules and without --local,
as follows:
git init --bare empty.git
git init --bare almost-empty.git
git -C ~/src/git push $(pwd)/almost-empty HEAD:refs/heads/upstream
git clone --single-branch file://$(pwd)/empty.git
git clone --single-branch file://$(pwd)/almost-empty.git
git -C almost-empty.git branch -D upstream
git -C empty fetch
git -C almost-empty fetch
Expected result:
Both fetches succeed.
Actual result:
First fetch succeeds, second produces
"fatal: Couldn't find remote ref HEAD".
Note that empty.git and almost-empty.git are basically identical.
The difference instead lies in the clones' .git/config files:
diff --git 1/empty/.git/config 2/almost-empty/.git/config
index b51bb0d..ee21198 100644
--- 1/empty/.git/config
+++ 2/almost-empty/.git/config
@@ -4,7 +4,4 @@
bare = false
logallrefupdates = true
[remote "origin"]
- url = file:///tmp/t/empty.git
-[branch "master"]
- remote = origin
- merge = refs/heads/master
+ url = file:///tmp/t/almost-empty.git
Thanks,
Jonathan
next prev parent reply other threads:[~2018-05-15 20:05 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-11 23:17 [PATCH] git-submodule.sh: try harder to fetch a submodule Stefan Beller
2018-05-11 23:28 ` Jonathan Nieder
2018-05-11 23:42 ` Stefan Beller
2018-05-12 0:03 ` Junio C Hamano
2018-05-15 19:07 ` Stefan Beller
2018-05-15 19:40 ` Stefan Beller
2018-05-15 20:04 ` Jonathan Nieder [this message]
2018-05-15 20:00 [PATCHv2 0/3] Reroll of sb/submodule-merge-in-merge-recursive Stefan Beller
2018-05-15 20:00 ` [PATCH] git-submodule.sh: try harder to fetch a submodule Stefan Beller
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=20180515200432.GA40044@aiede.svl.corp.google.com \
--to=jrnieder@gmail.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.