From: Heiko Voigt <hvoigt@hvoigt.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Junio C Hamano <gitster@pobox.com>,
Stefan Beller <sbeller@google.com>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: Slow pushes on 'pu' - even when up-to-date..
Date: Tue, 4 Oct 2016 13:18:45 +0200 [thread overview]
Message-ID: <20161004111845.GA20309@book.hvoigt.net> (raw)
In-Reply-To: <CA+55aFyos78qODyw57V=w13Ux5-8SvBqObJFAq22K+XKPWVbAA@mail.gmail.com>
Hi,
On Mon, Oct 03, 2016 at 02:11:36PM -0700, Linus Torvalds wrote:
> This seems to be because I'm now on 'pu' as of a day or two ago in
> order to test the abbrev logic, but lookie here:
>
> time git ls-remote ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux
> .. shows all the branches and tags ..
> real 0m0.655s
> user 0m0.011s
> sys 0m0.004s
>
> so the remote is fast to connect to, and with network connection
> overhead and everything, it's just over half a second. But then:
>
> time git push ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux
The reason behind this is when pushing to an address we do not easily
have the remote refs to compare available. When pushing an existing ref
it would be easy and could get a shortcut but it gets more complicated
for new refs. Currently we fall back to walking the whole history since
that is "the most correct way" we have. But obviously it is not a
practical solution in any way.
I mentioned this fact when discussing the current state and my patches
to make this check less painful. So we still need to think about a
solution for this check when passing an address.
IMO: It's definitely not ready to be switched on as default, unless we
find something a lot cheaper for the above case.
My idea of a solution goes like this:
* collect all SHA1's of the remotes refs
* check if we have them locally
* if not we abort and tell the user to fetch them somehow into local
refs or disable the check
* when we have them locally we proceed passing those SHA1's as bases
instead of --remotes=<name>
Cheers Heiko
next prev parent reply other threads:[~2016-10-04 11:18 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-03 21:11 Slow pushes on 'pu' - even when up-to-date Linus Torvalds
2016-10-03 21:17 ` Stefan Beller
2016-10-03 21:23 ` Stefan Beller
2016-10-03 22:06 ` Junio C Hamano
2016-10-04 11:18 ` Heiko Voigt [this message]
2016-10-04 11:44 ` Jeff King
2016-10-04 12:04 ` Heiko Voigt
2016-10-04 12:07 ` Jeff King
2016-10-04 16:19 ` Junio C Hamano
2016-10-04 16:21 ` Jeff King
2016-10-04 16:40 ` [PATCH] push: change submodule default to check Stefan Beller
2016-10-04 17:34 ` Jeff King
2016-10-04 17:48 ` Stefan Beller
2016-10-04 17:54 ` Jeff King
2016-10-04 18:04 ` Junio C Hamano
2016-10-04 18:08 ` Stefan Beller
2016-10-04 18:28 ` Jeff King
2016-10-04 19:29 ` [PATCHv2 1/2] push: change submodule default to check when submodules exist Stefan Beller
2016-10-04 19:29 ` [PATCH 2/2] builtin/push: move flags do_push Stefan Beller
2016-10-04 19:39 ` [PATCHv2 1/2] push: change submodule default to check when submodules exist Jeff King
2016-10-04 19:51 ` Stefan Beller
2016-10-04 21:03 ` [PATCHv3 " Stefan Beller
2016-10-05 13:53 ` Heiko Voigt
2016-10-06 9:23 ` Heiko Voigt
2016-10-06 17:20 ` Stefan Beller
2016-10-07 12:41 ` Heiko Voigt
2016-10-05 15:47 ` Jeff King
2016-10-05 15:54 ` Stefan Beller
2016-10-04 18:00 ` [PATCH] push: change submodule default to check Junio C Hamano
2016-10-04 18:02 ` Junio C Hamano
2016-10-04 18:05 ` 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=20161004111845.GA20309@book.hvoigt.net \
--to=hvoigt@hvoigt.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sbeller@google.com \
--cc=torvalds@linux-foundation.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).