From: Thomas Gummerer <t.gummerer@gmail.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: "Git List" <git@vger.kernel.org>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>
Subject: Re: [PATCH v5 2/6] worktree: be clearer when "add" dwim-ery kicks in
Date: Fri, 30 Mar 2018 14:53:14 +0100 [thread overview]
Message-ID: <20180330135314.GA2629@hank> (raw)
In-Reply-To: <CAPig+cSNYdJwBS1me+bkELDmrPHgDZJDwjA=o=O4CzQBT=jpzQ@mail.gmail.com>
On 03/27, Eric Sunshine wrote:
> On Sun, Mar 25, 2018 at 9:49 AM, Thomas Gummerer <t.gummerer@gmail.com> wrote:
> > Currently there is no indication in the "git worktree add" output that
> > a new branch was created. This would be especially useful information
> > in the case where the dwim of "git worktree add <path>" kicks in, as the
> > user didn't explicitly ask for a new branch, but we create one from
> > them.
>
> Failed to notice this last time around: s/from/for/
>
> Perhaps Junio can tweak it when queuing.
>
> > Print some additional output showing that a branch was created and the
> > branch name to help the user.
> >
> > This will also be useful in the next commit, which introduces a new kind
>
> It's no longer the _next_ commit which does this. Perhaps say instead
> "a subsequent commit". (Again, perhaps Junio can tweak it since it's
> not worth a re-roll.)
Right, will fix.
> > of dwim-ery of checking out the branch if it exists instead of refusing
> > to create a new worktree in that case, and where it's nice to tell the
> > user which kind of dwim-ery kicked in.
> >
> > Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
> > ---
> > diff --git a/builtin/worktree.c b/builtin/worktree.c
> > @@ -318,6 +318,9 @@ static int add_worktree(const char *path, const char *refname,
> > + if (opts->new_branch)
> > + fprintf_ln(stderr, _("creating branch '%s'"), opts->new_branch);
>
> I didn't think of this before, but what happens with the original
> dwim-ery you added which checks out a remote branch matching the
> worktree name if no such local branch exists? I was wondering if we'd
> want to see a distinct and more informative message in that case, such
> as "creating branch '%s' from remote '%s'" or something. However, I
> see that we're already getting a message:
>
> Branch 'foo' set up to track remote branch 'foo' from 'origin'.
> creating branch 'foo'
> new worktree HEAD is now at d3adb33f boople
>
> which is a bit weird since tracking appears to be set up before the
> branch itself is created. I thought that this was another UI
> regression of the sort I mentioned in [1], however, the messages were
> out of order even before the current patch series:
Yeah I agree this is a bit odd. I did think about this, and the main
reason why I didn't change this by passing the '--quiet' flag to 'git
branch' which we call in the 'add()' function is to keep the
information about the remote tracking.
Looking at where this information actually comes from, there's
multiple different ways we'd have to distinguish to print this
information properly.
Now that I put some more thought into this, I think there are a couple
of ways to solve this, the easiest and cleanest of which would
probably be to run 'git branch' through 'pipe_command', save the
output and print it after the "creating branch 'foo'" message.
> Branch 'foo' set up to track remote branch 'foo' from 'origin'.
> Preparing foo (identifier foo)
> Checking out files: 100% (9999/9999), done.
> HEAD is now at d3adb33f boople
>
> This highlights another regression introduced by this series. Patch
> 1/6 suppresses the "Checking out files:" message, which is a bit
> unfortunate for decent sized worktrees. I'm not sure I'm entirely
> happy about that loss. Thoughts?
Tbh I never really noticed the "Checking out files" output, because
the repositories I used day to day are usually of a smaller size,
where checking out the files takes less than a second, so I would
never even notice this output.
But while I don't care about it, others may, so I think it would be
better to preserve this output. Maybe the best way to do that would
be to not use 'run_command' to run 'git reset --hard', but to instead
replace that with the internal functions.
I haven't actually looked at how hard this would be, but I'm guessing
this may be the best option to avoid this UI regression. I'll play
with this some more and see what I can come up with, and send a
re-roll hopefully in a few days.
Thanks for your review!
> [1]: https://public-inbox.org/git/CAPig+cT8i9L9kbhx=b0sG4_QYNdoEDPW-1xypM9xzBqPmqR__Q@mail.gmail.com/
>
> > fprintf(stderr, _("new worktree HEAD is now at %s"),
> > find_unique_abbrev(commit->object.oid.hash, DEFAULT_ABBREV));
next prev parent reply other threads:[~2018-03-30 13:49 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-21 12:02 [PATCH] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-01-21 12:02 ` Robert P. J. Day
2018-01-22 11:18 ` Duy Nguyen
2018-01-22 20:17 ` Thomas Gummerer
2018-02-04 22:13 ` [PATCH v2 0/3] " Thomas Gummerer
2018-02-04 22:13 ` [PATCH v2 1/3] worktree: improve message when creating a new worktree Thomas Gummerer
2018-02-05 2:12 ` Duy Nguyen
2018-02-05 20:13 ` Thomas Gummerer
2018-02-05 20:15 ` Junio C Hamano
2018-02-07 8:51 ` Eric Sunshine
2018-02-09 11:27 ` Thomas Gummerer
2018-02-09 12:08 ` Duy Nguyen
2018-02-10 11:20 ` Duy Nguyen
2018-02-04 22:13 ` [PATCH v2 2/3] worktree: be clearer when "add" dwim-ery kicks in Thomas Gummerer
2018-02-04 22:13 ` [PATCH v2 3/3] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-02-05 2:18 ` Duy Nguyen
2018-02-05 20:20 ` Junio C Hamano
2018-02-05 20:23 ` Thomas Gummerer
2018-02-06 11:53 ` Duy Nguyen
2018-02-09 11:04 ` Thomas Gummerer
2018-03-17 22:08 ` [PATCH v3 0/4] " Thomas Gummerer
2018-03-17 22:08 ` [PATCH v3 1/4] worktree: improve message when creating a new worktree Thomas Gummerer
2018-03-17 22:08 ` [PATCH v3 2/4] worktree: be clearer when "add" dwim-ery kicks in Thomas Gummerer
2018-03-17 22:08 ` [PATCH v3 3/4] worktree: factor out dwim_branch function Thomas Gummerer
2018-03-17 22:08 ` [PATCH v3 4/4] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-03-17 22:22 ` [PATCH v4 0/4] " Thomas Gummerer
2018-03-17 22:22 ` [PATCH v4 1/4] worktree: improve message when creating a new worktree Thomas Gummerer
2018-03-19 17:11 ` Duy Nguyen
2018-03-19 18:09 ` Junio C Hamano
2018-03-20 6:37 ` Eric Sunshine
2018-03-24 20:34 ` Thomas Gummerer
2018-03-17 22:22 ` [PATCH v4 2/4] worktree: be clearer when "add" dwim-ery kicks in Thomas Gummerer
2018-03-20 6:40 ` Eric Sunshine
2018-03-20 7:26 ` Eric Sunshine
2018-03-20 7:32 ` Eric Sunshine
2018-03-24 20:35 ` Thomas Gummerer
2018-03-17 22:22 ` [PATCH v4 3/4] worktree: factor out dwim_branch function Thomas Gummerer
2018-03-17 22:22 ` [PATCH v4 4/4] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-03-20 8:02 ` Eric Sunshine
2018-03-24 21:00 ` Thomas Gummerer
2018-03-25 13:49 ` [PATCH v5 0/6] " Thomas Gummerer
2018-03-25 13:49 ` [PATCH v5 1/6] worktree: improve message when creating a new worktree Thomas Gummerer
2018-03-25 13:49 ` [PATCH v5 2/6] worktree: be clearer when "add" dwim-ery kicks in Thomas Gummerer
2018-03-27 8:59 ` Eric Sunshine
2018-03-30 13:53 ` Thomas Gummerer [this message]
2018-03-25 13:49 ` [PATCH v5 3/6] worktree: remove force_new_branch from struct add_opts Thomas Gummerer
2018-03-27 9:00 ` Eric Sunshine
2018-03-30 13:55 ` Thomas Gummerer
2018-03-25 13:49 ` [PATCH v5 4/6] worktree: factor out dwim_branch function Thomas Gummerer
2018-03-27 9:01 ` Eric Sunshine
2018-03-25 13:49 ` [PATCH v5 5/6] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-03-27 9:04 ` Eric Sunshine
2018-03-30 14:04 ` Thomas Gummerer
2018-03-25 13:49 ` [PATCH v5 6/6] t2025: rename now outdated branch name Thomas Gummerer
2018-03-27 8:58 ` [PATCH v5 0/6] worktree: teach "add" to check out existing branches Eric Sunshine
2018-03-30 14:08 ` Thomas Gummerer
2018-03-31 15:17 ` [PATCH v6 " Thomas Gummerer
2018-03-31 15:17 ` [PATCH v6 1/6] worktree: remove extra members from struct add_opts Thomas Gummerer
2018-03-31 15:18 ` [PATCH v6 2/6] reset: introduce show-new-head-line option Thomas Gummerer
2018-04-02 20:29 ` Junio C Hamano
2018-04-02 22:07 ` Thomas Gummerer
2018-04-02 22:20 ` Thomas Gummerer
2018-04-02 20:34 ` Junio C Hamano
2018-04-02 22:09 ` Thomas Gummerer
2018-03-31 15:18 ` [PATCH v6 3/6] worktree: improve message when creating a new worktree Thomas Gummerer
2018-04-08 9:27 ` Eric Sunshine
2018-03-31 15:18 ` [PATCH v6 4/6] worktree: be clearer when "add" dwim-ery kicks in Thomas Gummerer
2018-03-31 15:18 ` [PATCH v6 5/6] worktree: factor out dwim_branch function Thomas Gummerer
2018-03-31 15:18 ` [PATCH v6 6/6] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-04-01 13:11 ` [PATCH v6 6.5/6] fixup! " Thomas Gummerer
2018-04-09 0:23 ` Eric Sunshine
2018-04-09 19:44 ` Thomas Gummerer
2018-04-09 21:35 ` Eric Sunshine
2018-04-08 10:09 ` [PATCH v6 6/6] " Eric Sunshine
2018-04-08 14:30 ` Thomas Gummerer
2018-04-08 9:08 ` [PATCH v6 0/6] " Eric Sunshine
2018-04-08 14:24 ` Thomas Gummerer
2018-04-09 0:38 ` Eric Sunshine
2018-04-09 19:47 ` Thomas Gummerer
2018-04-09 19:30 ` Thomas Gummerer
2018-04-09 22:06 ` Eric Sunshine
2018-04-11 20:09 ` Thomas Gummerer
2018-04-11 20:48 ` Eric Sunshine
2018-04-11 20:50 ` Thomas Gummerer
2018-04-11 21:14 ` Eric Sunshine
2018-04-15 20:29 ` [PATCH v7 0/4] " Thomas Gummerer
2018-04-15 20:29 ` [PATCH v7 1/4] worktree: remove extra members from struct add_opts Thomas Gummerer
2018-04-15 20:29 ` [PATCH v7 2/4] worktree: improve message when creating a new worktree Thomas Gummerer
2018-04-16 2:09 ` Junio C Hamano
2018-04-23 18:55 ` Thomas Gummerer
2018-04-23 4:27 ` Eric Sunshine
2018-04-23 18:50 ` Thomas Gummerer
2018-04-15 20:29 ` [PATCH v7 3/4] worktree: factor out dwim_branch function Thomas Gummerer
2018-04-15 20:29 ` [PATCH v7 4/4] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-04-23 4:52 ` [PATCH v7 0/4] " Eric Sunshine
2018-04-23 19:38 ` [PATCH v8 " Thomas Gummerer
2018-04-23 19:38 ` [PATCH v8 1/4] worktree: remove extra members from struct add_opts Thomas Gummerer
2018-04-24 3:26 ` Eric Sunshine
2018-04-23 19:38 ` [PATCH v8 2/4] worktree: improve message when creating a new worktree Thomas Gummerer
2018-04-24 3:58 ` Eric Sunshine
2018-04-23 19:38 ` [PATCH v8 3/4] worktree: factor out dwim_branch function Thomas Gummerer
2018-04-23 19:38 ` [PATCH v8 4/4] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-04-24 4:25 ` Eric Sunshine
2018-04-24 21:56 ` [PATCH v9 0/4] " Thomas Gummerer
2018-04-24 21:56 ` [PATCH v9 1/4] worktree: remove extra members from struct add_opts Thomas Gummerer
2018-04-24 21:56 ` [PATCH v9 2/4] worktree: improve message when creating a new worktree Thomas Gummerer
2018-04-24 21:56 ` [PATCH v9 3/4] worktree: factor out dwim_branch function Thomas Gummerer
2018-04-24 21:56 ` [PATCH v9 4/4] worktree: teach "add" to check out existing branches Thomas Gummerer
2018-04-27 7:36 ` [PATCH v9 0/4] " Eric Sunshine
2018-04-28 16:09 ` Thomas Gummerer
2018-04-30 0:07 ` Junio C Hamano
2018-03-18 0:24 ` [PATCH v3 " 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=20180330135314.GA2629@hank \
--to=t.gummerer@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
--cc=sunshine@sunshineco.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).