Thread (2 messages) 2 messages, 2 authors, 2025-12-20

Re: [PATCH] worktree: clarify --expire applies to missing worktrees

From: Junio C Hamano <hidden>
Date: 2025-12-20 07:31:15

Eric Sunshine [off-list ref] writes:
On Sat, Dec 20, 2025 at 12:44 AM Junio C Hamano [off-list ref] wrote:
quoted
I wonder if this would work better.

        `prune`::
                Remove worktree information in `$GIT_DIR/worktrees`
                only, without touching the working tree.  This is
                often needed when the working tree is lost (e.g.,
                the user manually removed it) and the worktree
                information has become dangling.
Yes, this is a useful improvement, although one part confuses me (and
I would omit it). In particular, if the working tree is lost, thus the
`$GIT_DIR/worktrees` is dangling ought to be removed, then I'm not
sure why you would say "without touching the working tree" (which is
already lost).
Ahh, I somehow thought you can say "git worktree prune <worktree>"
to remove only the control information while the working tree is
still there, sort of "orphaning" the working tree from the main
repository.  But things do not work that way.

You're right that "without touching the working tree" part is
misleading and redundant.  And it is not "this is often needed"; it
is the _only_ scenario the operation makes sense.

	`prune`::
		Remove worktree information in `$GIT_DIR/worktrees`
		for worktrees whose working trees are missing.
		Useful after manually removing a working tree that
		is no longer needed (but use "git worktree remove"
		next time you want to do so).  Also if you _moved_ a
		working tree elsewhere to cause the worktree
		information dangling, see "git worktree repair" to
		reconnect the worktree to the new working tree
		location.

perhaps?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help