From: Junio C Hamano <gitster@pobox.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org, "Jeff King" <peff@peff.net>,
"Johannes Schindelin" <johannes.schindelin@gmx.de>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Thomas Gummerer" <t.gummerer@gmail.com>,
"Eric Sunshine" <sunshine@sunshineco.com>
Subject: Re: [PATCH v4 8/9] checkout: add advice for ambiguous "checkout <branch>"
Date: Mon, 04 Jun 2018 10:58:21 +0900 [thread overview]
Message-ID: <xmqqlgbv71oi.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <871sdqal2g.fsf@evledraar.gmail.com> ("Ævar Arnfjörð Bjarmason"'s message of "Fri, 01 Jun 2018 11:54:31 +0200")
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> I.e. I was trying to avoid printing out the "error: pathspec 'master'
> did not match any file(s) known to git." error altogether. That's still
> arguably a good direction, since we *know* "master" would have otherwise
> matched a remote branch, so that's probably a more informative message
> than falling back to checking out pathspecs and failing, and complaining
> about there being no such pathspec.
That ideal behaviour makes sense.
> But it was a pain to handle the various edge cases, e.g.:
>
> $ ./git --exec-path=$PWD checkout x y z
> error: pathspec 'x' did not match any file(s) known to git.
> error: pathspec 'y' did not match any file(s) known to git.
> error: pathspec 'z' did not match any file(s) known to git.
Let's take a detour to a tangent, as this example does not have
anything to do with the remote-tracking auto-dwimming.
Ideally what do we want to say in this case? What's allowed for 'x'
(2 possibilities) is different from whats allowed for 'y' and 'z'
(only 1 possibility)---do we want to complain that 'x' is not a rev
noris a file (we do not say 'x' could be a misspelt rev name right
now), and then 'y' and 'z' are not files (which is what we do now)?
That might be an improvement. I dunno. In any case, that is a
tangent that we do not have to address with these patches.
In contrast, the command line without y and z gives three
possibilities to 'x'. 'x' is not a rev, is not a remote-tracking
branch name that only a single remote has, and is not a file. Now,
if we are going to mention that we failed to interpret it as the
latter two, perhaps we should also mention that it was not a rev
(which could have been misspelt)?
> So I decided just to let checkout_paths() to its thing and then print
> out an error about dwim branches if applicable if it failed.
Yeah, I think I get it now. If you want to silence the "error" from
report_path_error() and replace it with something else, you would
need to change checout_paths(), as this function is sort-of used as
the last ditch effort after all else failed, and right now it is not
aware of what exactly all these other failed efforts were.
Thanks. I'm looking at v6 reroll for queuing.
next prev parent reply other threads:[~2018-06-04 1:58 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-02 10:54 [PATCH] checkout & worktree: introduce a core.DWIMRemote setting Ævar Arnfjörð Bjarmason
2018-05-02 15:21 ` Duy Nguyen
2018-05-02 18:00 ` Eric Sunshine
2018-05-02 18:09 ` Duy Nguyen
2018-05-02 18:25 ` Ævar Arnfjörð Bjarmason
2018-05-03 13:18 ` [PATCH v2] checkout & worktree: introduce checkout.implicitRemote Ævar Arnfjörð Bjarmason
2018-05-03 15:14 ` Duy Nguyen
2018-05-04 7:54 ` Ævar Arnfjörð Bjarmason
2018-05-04 14:58 ` Duy Nguyen
2018-05-04 18:02 ` Ævar Arnfjörð Bjarmason
2018-05-04 9:58 ` Eric Sunshine
2018-05-24 19:47 ` [PATCH v3] " Ævar Arnfjörð Bjarmason
2018-05-25 8:12 ` Junio C Hamano
2018-05-25 14:42 ` Duy Nguyen
2018-05-25 18:38 ` Ævar Arnfjörð Bjarmason
2018-05-26 12:49 ` Duy Nguyen
2018-05-31 7:45 ` Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 0/9] ambiguous checkout UI & checkout.defaultRemote Ævar Arnfjörð Bjarmason
2018-06-01 21:10 ` [PATCH v5 0/8] " Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 " Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 " Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 1/8] checkout tests: index should be clean after dwim checkout Ævar Arnfjörð Bjarmason
2018-06-05 15:45 ` SZEDER Gábor
2018-07-27 17:48 ` [PATCH] tests: make use of the test_must_be_empty function Ævar Arnfjörð Bjarmason
2018-07-27 21:50 ` Junio C Hamano
2018-07-31 0:17 ` SZEDER Gábor
2018-08-22 17:48 ` [PATCH] t6018-rev-list-glob: fix 'empty stdin' test SZEDER Gábor
2018-08-22 17:53 ` Eric Sunshine
2018-08-22 18:59 ` SZEDER Gábor
2018-08-22 20:30 ` Eric Sunshine
2018-08-22 18:01 ` Junio C Hamano
2018-08-22 18:50 ` Junio C Hamano
2018-08-22 19:23 ` Jeff King
2018-08-22 19:50 ` [PATCH] rev-list: make empty --stdin not an error Jeff King
2018-08-22 20:42 ` Junio C Hamano
2018-08-22 21:37 ` Jeff King
2018-08-22 21:50 ` Junio C Hamano
2018-08-22 21:55 ` Jeff King
2018-08-22 21:41 ` Junio C Hamano
2018-06-05 14:40 ` [PATCH v7 2/8] checkout.h: wrap the arguments to unique_tracking_name() Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 3/8] checkout.c: introduce an *_INIT macro Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 4/8] checkout.c: change "unique" member to "num_matches" Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 5/8] checkout: pass the "num_matches" up to callers Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 6/8] builtin/checkout.c: use "ret" variable for return Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 7/8] checkout: add advice for ambiguous "checkout <branch>" Ævar Arnfjörð Bjarmason
2018-06-05 14:40 ` [PATCH v7 8/8] checkout & worktree: introduce checkout.defaultRemote Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 1/8] checkout tests: index should be clean after dwim checkout Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 2/8] checkout.h: wrap the arguments to unique_tracking_name() Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 3/8] checkout.c: introduce an *_INIT macro Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 4/8] checkout.c]: change "unique" member to "num_matches" Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 5/8] checkout: pass the "num_matches" up to callers Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 6/8] builtin/checkout.c: use "ret" variable for return Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 7/8] checkout: add advice for ambiguous "checkout <branch>" Ævar Arnfjörð Bjarmason
2018-06-02 11:50 ` [PATCH v6 8/8] checkout & worktree: introduce checkout.defaultRemote Ævar Arnfjörð Bjarmason
2018-06-03 7:58 ` Eric Sunshine
2018-06-01 21:10 ` [PATCH v5 1/8] checkout tests: index should be clean after dwim checkout Ævar Arnfjörð Bjarmason
2018-06-01 21:10 ` [PATCH v5 2/8] checkout.h: wrap the arguments to unique_tracking_name() Ævar Arnfjörð Bjarmason
2018-06-01 21:10 ` [PATCH v5 3/8] checkout.[ch]: introduce an *_INIT macro Ævar Arnfjörð Bjarmason
2018-06-01 22:40 ` Eric Sunshine
2018-06-01 21:10 ` [PATCH v5 4/8] checkout.[ch]: change "unique" member to "num_matches" Ævar Arnfjörð Bjarmason
2018-06-01 22:41 ` Eric Sunshine
2018-06-01 21:10 ` [PATCH v5 5/8] checkout: pass the "num_matches" up to callers Ævar Arnfjörð Bjarmason
2018-06-01 21:10 ` [PATCH v5 6/8] builtin/checkout.c: use "ret" variable for return Ævar Arnfjörð Bjarmason
2018-06-01 21:10 ` [PATCH v5 7/8] checkout: add advice for ambiguous "checkout <branch>" Ævar Arnfjörð Bjarmason
2018-06-01 22:52 ` Eric Sunshine
2018-06-01 21:10 ` [PATCH v5 8/8] checkout & worktree: introduce checkout.defaultRemote Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 1/9] checkout tests: index should be clean after dwim checkout Ævar Arnfjörð Bjarmason
2018-06-01 4:06 ` Junio C Hamano
2018-06-01 19:43 ` Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 2/9] checkout.h: wrap the arguments to unique_tracking_name() Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 3/9] checkout.[ch]: move struct declaration into *.h Ævar Arnfjörð Bjarmason
2018-05-31 21:45 ` Thomas Gummerer
2018-06-01 2:14 ` Junio C Hamano
2018-06-01 9:56 ` Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 4/9] checkout.[ch]: introduce an *_INIT macro Ævar Arnfjörð Bjarmason
2018-06-01 4:16 ` Junio C Hamano
2018-05-31 19:52 ` [PATCH v4 5/9] checkout.[ch]: change "unique" member to "num_matches" Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 6/9] checkout: pass the "num_matches" up to callers Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 7/9] builtin/checkout.c: use "ret" variable for return Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 8/9] checkout: add advice for ambiguous "checkout <branch>" Ævar Arnfjörð Bjarmason
2018-06-01 4:32 ` Junio C Hamano
2018-06-01 5:11 ` Junio C Hamano
2018-06-01 9:54 ` Ævar Arnfjörð Bjarmason
2018-06-04 1:58 ` Junio C Hamano [this message]
2018-06-01 9:50 ` Ævar Arnfjörð Bjarmason
2018-06-01 7:53 ` Eric Sunshine
2018-06-01 19:59 ` Ævar Arnfjörð Bjarmason
2018-05-31 19:52 ` [PATCH v4 9/9] checkout & worktree: introduce checkout.defaultRemote Ævar Arnfjörð Bjarmason
2018-05-31 21:49 ` Stefan Beller
2018-06-01 8:04 ` Eric Sunshine
2018-06-01 9:47 ` Ævar Arnfjörð Bjarmason
2018-05-31 22:22 ` Thomas Gummerer
2018-06-01 2:17 ` Junio C Hamano
2018-05-04 7:14 ` [PATCH] checkout & worktree: introduce a core.DWIMRemote setting Eric Sunshine
2018-05-04 7:23 ` Eric Sunshine
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=xmqqlgbv71oi.fsf@gitster-ct.c.googlers.com \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=johannes.schindelin@gmx.de \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=sunshine@sunshineco.com \
--cc=t.gummerer@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).