From: "Philip Oakley" <philipoakley@iee.org>
To: "Ben Peart" <Ben.Peart@microsoft.com>,
"Junio C Hamano" <gitster@pobox.com>
Cc: <pclouds@gmail.com>, <git@vger.kernel.org>
Subject: Re: [PATCH v3] checkout: eliminate unnecessary merge for trivial checkout
Date: Sat, 24 Sep 2016 15:28:11 +0100 [thread overview]
Message-ID: <99A866BEF8944598A50C6E061A703297@PhilipOakley> (raw)
In-Reply-To: BL2PR03MB323ADC371E49EFD1CBBC566F4F60@BL2PR03MB323.namprd03.prod.outlook.com
Ben,
Using a 'bottom / in-line' posting flow is much preferred, which may require
some manual editing[1], hopefully I have it about right...
Philip
--
[1] this is massaged and mangled Outlook Express, sometimes one has to work
with the tools at hand...
From: "Ben Peart" <Ben.Peart@microsoft.com>
> From: Junio C Hamano [mailto:gitster@pobox.com]
> > Junio C Hamano <gitster@pobox.comwrites:
> >
> > >"git checkout -b foo" (without -f -m or <start_point>) is defined in
> > >the manual as being a shortcut for/equivalent to:
> > >
> > > (1a) "git branch foo"
> > > (1b) "git checkout foo"
> > >
> > >However, it has been our experience in our observed use cases and all
> > >the existing git tests, that it can be treated as equivalent to:
> > >
> > > (2a) "git branch foo"
> > > (2b) "git symbolic-ref HEAD refs/heads/foo"
> > >...
> > >
> > I am still not sure if I like the change of what "checkout -b" is this
> > late in the game, though.
> >
> > Having said all that.
> >
> > I do see the merit of having a shorthand way to invoke your 2 above.
> > It is just that I am not convinced that it is the best way to achieve
> > that goal to redefine what "git checkout -b <new-name>" (no other
> > parameters) does.
> >
> ---
>
> I understand the reluctance to change the existing behavior of the "git
> checkout -b <new-name>" command.
>
> I see this as a tradeoff between taking advantage of the muscle memory for
> the existing command and coming up with a new shortcut command and
> training people to use it instead.
>
> The fact that all the use cases we've observed and all the git test cases
> actually produce the same results but significantly faster with that
> change in behavior made me hope we could redefine the command to take
> advantage of the muscle memory.
>
> That said, you're much more on the frontline of receiving negative
> feedback about doing that than I am. :) How would you like to proceed?
The discussion can often feel harsh [2], especially if there is accidental
'talking past each other', which is usually because of differing
perspectives on the issues.
I didn't see an initial confirmation as to what the issue really was. You
indicated the symptom ('a long checkout time'), but then we missed out on
hard facts and example repos, so that the issue was replicable.
Is there an example public repo that you can show the issue on? (or
anonymise a private one - there is a script for that [3])
Can you give local timings (and indication of the hardware and software
versions used for the test, and if appropriate, network setup)?
I know at my work that sometime our home drives are multiply mapped to H:, a
C:/homedrive directory and a $netshare/me network directory via the
Microsofy roaming profiles, and if there is hard synchronization (or
whatever term is appropriate) there can be sudden slowdowns as local C:
writes drop from 'instant' to 'forever'...
Is there anything special about the repos that have the delays? Is it a
local process issue that causes the repos to develop those symptoms (see
above about not being sure why you have these issues), in which case it
could be local self inflicted issues, or it could be that you have a
regulatory issue for that domain that requires such symptoms, which would
shift the problem from a 'don't do that' response to a 'hmm, how to cover
this'.
At the moment there is the simple workaround of an alias that executes that
two step command dance to achieve what you needed, and Junio has outlined
the issues he needed to be covered from his maintainer perspective (e.g. the
detection of sparse checkouts). Confirming the root causes would help in
setting a baseline.
I hope that is of help - I'd seen that the discussion had gone quiet.
--
Philip
[2] Been there, feel your pain. It's not in any way malicious, just a
reflection that email can be a poor medium for such discussions.
[3] https://public-inbox.org/git/20140827170127.GA6138@peff.net/ suggest
that the `git fast-export --anonymize --all` maybe the approach.
next prev parent reply other threads:[~2016-09-24 14:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-13 14:26 [PATCH v3] checkout: eliminate unnecessary merge for trivial checkout Ben Peart
2016-09-13 22:34 ` Junio C Hamano
2016-09-14 6:30 ` Oleg Taranenko
2016-09-14 15:48 ` Junio C Hamano
[not found] ` <BL2PR03MB3232D3128A72D4EC9ADC2C6F4F10@BL2PR03MB323.namprd03.prod.outlook.com>
[not found] ` <BL2PR03MB323E1B2F810C63CB01AA234F4F30@BL2PR03MB323.namprd03.prod.outlook.com>
2016-09-19 13:18 ` Ben Peart
2016-09-19 16:30 ` Junio C Hamano
2016-09-19 17:03 ` Junio C Hamano
2016-09-21 18:32 ` Ben Peart
2016-09-24 14:28 ` Philip Oakley [this message]
2016-09-24 18:26 ` Junio C Hamano
2016-09-24 19:31 ` Philip Oakley
-- strict thread matches above, loose matches on Subject: below --
2016-09-28 17:02 Ben Peart
2016-09-28 17:52 ` Junio C Hamano
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=99A866BEF8944598A50C6E061A703297@PhilipOakley \
--to=philipoakley@iee.org \
--cc=Ben.Peart@microsoft.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@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.
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).