Git development
 help / color / mirror / Atom feed
From: Phillip Wood <phillip.wood123@gmail.com>
To: Jason Newton <nevion@gmail.com>, Eric Sunshine <sunshine@sunshineco.com>
Cc: Jason Newton via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org,
	"brian m. carlson" <sandals@crustytoothpaste.net>
Subject: Re: [PATCH v2 2/2] worktree: reap ephemeral branches created by "worktree add"
Date: Wed, 21 Oct 2026 15:03:52 +0100	[thread overview]
Message-ID: <43b81ed2-6cc2-409b-be39-fa5b0911f532@gmail.com> (raw)
In-Reply-To: <CAGou9MirKucUdx8eM-BfqO9sZrDrckwpp9sYDnDVfiqkdZ8wdw@mail.gmail.com>

On 21/10/2026 09:28, Jason Newton wrote:
> Please focus on reviewing, I use mixed but you shouldn't assume which
> parts are and are not llms.
> 
> What you don't realize by working in a silo for a long time is your
> communication skills to external parties gets reduced with jargon and
> nitpicking ; I have the llms both assume you're wrong and right while
> seeing the undesirable behaviors your stances have to the one that I
> know is correct.  You seem overly sensitive to the usage so far. I
> have no tollerance left to give - so stay on point. You should
> consider several harnesses chose not to even go through PRs and work
> around the functionality like grok build did, patching it in
> externally which is kind of nuts - and replicated.  I think it's
> something you should think about the nature of quite a bit.
> 
> As I mentioned, detached IOWs sucks and you shouldn't have bothered
> mentioning it because it fails hard, though it was noted and evaluated
> in earnest for a bad idea - want to go back to the long but more
> neutral form?

I'm afraid this messages falls far short of the standard of constructive 
discussion that is expected on this list. It is perfectly possible to 
disagree with someone without attacking them or telling them what they 
should or should not be doing.

It is clear that you do not like the current behavior of "git worktree 
add", but replying with a generic list of the differences between a 
branch checkout and a detached HEAD and then attacking the reviewer does 
not explain what problem you are trying to solve and is not going to 
convince anyone that this patch is a good idea.

Thanks

Phillip
> -Jason
> 
> 
> On Wed, Oct 21, 2026 at 1:07 AM Eric Sunshine <sunshine@sunshineco.com> wrote:
>>
>> On Wed, Oct 21, 2026 at 3:40 AM Jason Newton <nevion@gmail.com> wrote:>
>>> --detach and an ephemeral branch differ while the worktree exists.
>>>
>>> --detach leaves HEAD with no branch, so status, push, rename,
>>> upstream, and symbolic-ref have nothing to name. An ephemeral
>>> branch is a normal refs/heads/ ref for the life of the worktree.
>>> Commits go on it, and another ref can point at them before
>>> "worktree remove" deletes that branch.
>>>
>>> Deleting the branch that "worktree add <path>" creates today
>>> would change the default, so this has to be opt-in. That opt-in
>>> is not --detach: the worktree stays on a branch until removal.
>>>
>>> These worktrees might be minutes or they might go on for months;
>>> either way they should be easy to use and not require flags to assist
>>>   in the majority of common case behaviors, moreover detached feels
>>> ike a degraded halfway state, frequently allowing a gotcha to strike or
>>>   a loss of a safety like a gc based reap.
>>>
>>> "git worktree remove" does not delete whatever branch a worktree
>>> has checked out. It deletes a branch only when this "git worktree
>>> add" created it by DWIM (the final component of <path>) and recorded
>>> that in worktrees/<id>/owned-branch.
>>>
>>> A branch named with -b/-B, a branch that already existed, and a
>>> detached HEAD are not owned and are not removed. A worktree created
>>> by an older Git has no marker, so removing it still leaves its
>>> branch in place.
>>>
>>> "Unconditional" in the commit means that this one owned branch is
>>> deleted even if it has unmerged commits. --keep-branch turns that
>>> off. "git branch <name> <tip>" before removal keeps the commits on
>>> an ordinary branch; only the owned ref is deleted.
>>>
>>> The call that changes is "git worktree add <path>" with no branch,
>>> followed by "git worktree remove". A caller who wants that branch
>>> to outlive the worktree already has a spelling this series does not
>>> touch: "git worktree add -b <name> <path>", or "git worktree add
>>> <path> <existing>". --detach still creates no branch, so it is not
>>> the same state while the worktree exists.
>>>
>>> Ownership is written only when the worktree is created, so I'll confirm
>>> an older worktree still has no marker after an upgrade.  The branch stays.
>>> Upgrading does not mark a worktree you already have so no upgrade
>>> headaches are expected.
>>
>> Feeding a reviewer's comments into an agent and pasting its
>> LLM-generated response into an email is not a good way to convince
>> project stakeholders that the submission has value. If you can't
>> explain its value in concrete terms in your own words, then you're
>> going to have a hard time eliciting any responses or additional
>> reviewer feedback.
> 


  reply	other threads:[~2026-10-21 14:03 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-05 18:49 [PATCH 0/2] worktree: copy-on-write creation and shared-branch worktrees Jason Newton via GitGitGadget
2026-06-05 18:49 ` [PATCH 1/2] worktree: add --reflink for copy-on-write worktree creation Jason Newton via GitGitGadget
2026-06-05 18:49 ` [PATCH 2/2] worktree: allow sharing a checked-out branch across worktrees Jason Newton via GitGitGadget
2026-06-05 19:59 ` [PATCH 0/2] worktree: copy-on-write creation and shared-branch worktrees brian m. carlson
2026-06-08 14:36 ` Junio C Hamano
2026-10-20 16:04 ` [PATCH v2 0/2] worktree: copy-on-write creation and ephemeral branches Jason Newton via GitGitGadget
2026-10-20 16:04   ` [PATCH v2 1/2] worktree: add --reflink for copy-on-write worktree creation Jason Newton via GitGitGadget
2026-10-20 21:20     ` brian m. carlson
2026-10-21  7:15       ` Jason Newton
2026-10-20 16:04   ` [PATCH v2 2/2] worktree: reap ephemeral branches created by "worktree add" Jason Newton via GitGitGadget
2026-10-21  6:52     ` Eric Sunshine
2026-10-21  7:40       ` Jason Newton
2026-10-21  8:06         ` Eric Sunshine
2026-10-21  8:28           ` Jason Newton
2026-10-21 14:03             ` Phillip Wood [this message]
2026-10-21  7:08   ` [PATCH v2 0/2] worktree: copy-on-write creation and ephemeral branches Eric Sunshine
2026-10-21  7:17 ` [PATCH v3 0/4] " Jason Newton via GitGitGadget
2026-10-21  7:17   ` [PATCH v3 1/4] worktree: add --reflink for copy-on-write worktree creation Jason Newton via GitGitGadget
2026-10-21  7:17   ` [PATCH v3 2/4] worktree: reap ephemeral branches created by "worktree add" Jason Newton via GitGitGadget
2026-10-21  7:17   ` [PATCH v3 3/4] worktree: disable reflink on Windows Jason Newton via GitGitGadget
2026-10-21  7:17   ` [PATCH v3 4/4] worktree: keep the reflink probe referenced " Jason Newton via GitGitGadget

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=43b81ed2-6cc2-409b-be39-fa5b0911f532@gmail.com \
    --to=phillip.wood123@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=nevion@gmail.com \
    --cc=phillip.wood@dunelm.org.uk \
    --cc=sandals@crustytoothpaste.net \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox