From: Patrick Steinhardt <ps@pks.im>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: shejialuo <shejialuo@gmail.com>,
AreaZR via GitGitGadget <gitgitgadget@gmail.com>,
git@vger.kernel.org, AreaZR <gfunni234@gmail.com>,
Seija Kijin <doremylover123@gmail.com>
Subject: Re: [PATCH] refs: exit early from the loop if it is not a main worktree
Date: Fri, 27 Dec 2024 15:34:17 +0100 [thread overview]
Message-ID: <Z2666eLeDbWE2yKc@pks.im> (raw)
In-Reply-To: <CAPig+cQd=vc5rte47biFbR+w_DV2OhdCRpC2WH_dKsSi4wvZ2A@mail.gmail.com>
On Wed, Dec 18, 2024 at 06:52:02PM -0500, Eric Sunshine wrote:
> On Wed, Dec 18, 2024 at 8:30 AM shejialuo <shejialuo@gmail.com> wrote:
> > On Wed, Dec 18, 2024 at 02:20:45AM +0000, AreaZR via GitGitGadget wrote:
> > > if (is_main_worktree(worktrees[i]))
> > > continue;
> > > ret = 1;
> > > + break;
> >
> > So, when we find a linked worktree, we just return the value. From my
> > perspective, if we decide to optimize like this way, we could drop the
> > loop because the first element of the result of `get_worktrees` is the
> > main worktree. And we could just check whether the "worktrees[1]" is
> > NULL to do above.
>
> You're correct. get_worktrees() guarantees that the main worktree (or
> bare repository) is the first item in the list, so merely checking
> whether `worktrees[1]` is non-NULL would be sufficient to answer
> whether linked worktrees are present; no looping is required.
>
> > However, I don't know whether it's a good idea to exit the loop early
> > in the first place. CC Patrick to help.
>
> If the loop is retained for some reason (though it really isn't
> needed), then exiting early is indeed desirable. I suspect that the
> missing `break` was just a silly oversight on Patrick's part.
Yes, indeed, breaking out of the loop feels sensible to me. Checking
whether `worktrees[1]` is non-NULL would be fine, as well.
Patrick
prev parent reply other threads:[~2024-12-27 14:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-18 2:20 [PATCH] refs: exit early from the loop if it is not a main worktree AreaZR via GitGitGadget
2024-12-18 13:31 ` shejialuo
2024-12-18 23:52 ` Eric Sunshine
2024-12-19 1:10 ` Junio C Hamano
2024-12-19 5:54 ` Eric Sunshine
2024-12-19 6:12 ` Junio C Hamano
2024-12-27 14:34 ` Patrick Steinhardt
2024-12-27 14:34 ` Patrick Steinhardt [this message]
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=Z2666eLeDbWE2yKc@pks.im \
--to=ps@pks.im \
--cc=doremylover123@gmail.com \
--cc=gfunni234@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=shejialuo@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.
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.