git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Eric Sunshine" <sunshine@sunshineco.com>,
	"Sergey Organov" <sorganov@gmail.com>,
	"Ben Knoble" <ben.knoble@gmail.com>,
	"Michal Suchánek" <msuchanek@suse.de>,
	"Jason Cho" <jason11choca@proton.me>,
	"Jakub T. Jankiewicz" <jcubic@jcubic.pl>,
	git@vger.kernel.org
Subject: Re: What is the reason behind not hiding git worktrees from git?
Date: Mon, 17 Nov 2025 14:57:41 -0800	[thread overview]
Message-ID: <xmqqikf8gtcq.fsf@gitster.g> (raw)
In-Reply-To: <8cc4ca72-c87a-acc1-e200-53be14d649f8@gmx.de> (Johannes Schindelin's message of "Mon, 17 Nov 2025 23:36:06 +0100 (CET)")

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> that main worktree after verifying with `git status` that there was no
> unfinished business to take care of before deleting the repository.
> Because that secondary worktree (which did contain unfinished business,
> including a carefully crafted series of commits) was now obviously no
> longer a worktree but only a tree without a working `.git`.

Ouch, that is a tough one.  It is very hard to interfere and stop
your "rm -fr" based on what Git could find (in other words, your
"rm" lacks the "pre-something" hook).

Of course, an argument can be made that you should have also asked
`git worktree list` if there are other worktrees, in addition to
asking `git status`, but I wonder if it would have helped to have
the information in the `git status` output so that we can always
trust that it is sufficient to ask a single command without doing
anything else?  As "separate worktrees" is a feature to allow users
to more or less independently work in each separate worktree,
without having to worry about what they are doing in the other
worktrees, cramming too much into `git status` would degrade the
end-user experience and it takes a fine balance.

I think that one of the reasons why the "outside the working tree"
layout is recommended is to prevent us from "git add ." (or other
overly wide pathspec) to accidentally add these embedded worktrees
to the main project, but such a mistake is at least not as
destructive as "rm -fr".



  reply	other threads:[~2025-11-17 22:57 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-27 13:28 What is the reason behind not hiding git worktrees from git? Jakub T. Jankiewicz
2025-09-27 16:52 ` Junio C Hamano
2025-09-27 17:55   ` Michal Suchánek
2025-09-27 21:08     ` Jason Cho
2025-09-27 21:26       ` Jason Cho
2025-09-30 10:30         ` Michal Suchánek
2025-09-30 15:47           ` Junio C Hamano
2025-11-19  8:13             ` Michal Suchánek
2025-09-30 10:37       ` Michal Suchánek
2025-10-01 12:16         ` Ben Knoble
2025-10-01 18:54           ` Junio C Hamano
2025-10-01 20:22             ` Sergey Organov
2025-10-01 20:48               ` Junio C Hamano
2025-10-01 21:27                 ` Jakub T. Jankiewicz
2025-10-01 22:07                   ` Junio C Hamano
2025-10-01 21:29                 ` Eric Sunshine
2025-10-01 22:27                   ` Junio C Hamano
2025-10-02  8:38                     ` Michal Suchánek
2025-10-02 13:33                       ` Junio C Hamano
2025-10-02 15:51                         ` [PATCH 1/2] doc: git-worktree: Link to examples Michal Suchanek
2025-10-02 17:42                           ` Kristoffer Haugsbakk
2025-10-02 17:44                           ` Junio C Hamano
2025-10-02 18:55                             ` Michal Suchánek
2025-10-05 20:52                           ` Jean-Noël AVILA
2025-10-10 17:10                             ` Michal Suchánek
2025-10-10 17:04                           ` [PATCH v2 " Michal Suchanek
2025-10-11  4:40                             ` Eric Sunshine
2025-10-10 17:04                           ` [PATCH v2 2/2] doc: git-worktree: Add side by side branch checkout example Michal Suchanek
2025-10-11  5:17                             ` Eric Sunshine
2025-10-23 19:40                               ` Junio C Hamano
2025-10-24 10:15                               ` Michal Suchánek
2025-10-24 16:57                                 ` Eric Sunshine
2025-11-18 12:01                                   ` Michal Suchánek
2025-11-19  7:19                                     ` Eric Sunshine
2025-10-02 15:51                         ` [PATCH " Michal Suchanek
2025-10-02 17:51                           ` Kristoffer Haugsbakk
2025-10-02 18:46                             ` Michal Suchánek
2025-10-02 18:47                             ` Junio C Hamano
2025-10-02 18:06                           ` Junio C Hamano
2025-10-02 18:39                             ` Michal Suchánek
2025-11-17 22:36                   ` What is the reason behind not hiding git worktrees from git? Johannes Schindelin
2025-11-17 22:57                     ` Junio C Hamano [this message]
2025-10-02  2:33             ` Ben Knoble

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=xmqqikf8gtcq.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=ben.knoble@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jason11choca@proton.me \
    --cc=jcubic@jcubic.pl \
    --cc=msuchanek@suse.de \
    --cc=sorganov@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 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 NNTP newsgroup(s).