From: Junio C Hamano <gitster@pobox.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: Tao Klerks <tao@klerks.biz>, git <git@vger.kernel.org>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Taylor Blau <me@ttaylorr.com>, Patrick Steinhardt <ps@pks.im>
Subject: Re: Is "bare"ness in the context of multiple worktrees weird? Bitmap error in git gc.
Date: Tue, 05 Sep 2023 08:13:41 -0700 [thread overview]
Message-ID: <xmqqmsy0slei.fsf@gitster.g> (raw)
In-Reply-To: <CAPig+cRJhrGmnBRm2dporcXiRr4SzRmpM2LTMm0S7wo0XbOU9Q@mail.gmail.com> (Eric Sunshine's message of "Tue, 5 Sep 2023 01:43:54 -0400")
Eric Sunshine <sunshine@sunshineco.com> writes:
>> All correct. The per-worktree part of the repository data does live
>> in a subdirectory of the ".git" directory and that was probably what
>> Tao had in mind, though.
>
> That could be. I read Tao's explanation as meaning that people do this:
>
> git clone foo.git foo
> cd foo
> git worktree add bar
> git worktree add baz
>
> rather than (perhaps) this:
>
> git clone foo.git foo
> cd foo
> git worktree add ../bar
> git worktree add ../baz
Ah, that reading does totally make sense.
But I am not sure it would lead to "we need to carefully protect the
primary worktree", because it is rather obvious, especially if you
bypass "git worktree remove" and use "rm -fr", you would lose
everybody underneath if you remove the "foo" in the "worktrees are
subdirectories of the primary" variant in the above examples.
Even though deriving the worktree(s) from a separate and protected
bare repositories does protect you from total disaster caused by
removing "rm -fr" and bypassing "git worktree remove", it still
should be discouraged, as the per-worktree states left behind in the
repository interfere with the operations in surviving worktrees.
Teaching folks not to do "rm -fr" would be the first step to a more
pleasant end-user experience, I would think.
Thanks.
next prev parent reply other threads:[~2023-09-05 16:00 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 14:41 Is "bare"ness in the context of multiple worktrees weird? Bitmap error in git gc Tao Klerks
2023-09-04 14:59 ` Tao Klerks
2023-09-04 15:29 ` Tao Klerks
2023-09-04 17:42 ` Kristoffer Haugsbakk
2023-09-04 17:56 ` Kristoffer Haugsbakk
2023-09-05 0:38 ` Eric Sunshine
2023-09-06 16:00 ` Kristoffer Haugsbakk
2023-09-06 16:39 ` Sergey Organov
2023-09-06 17:59 ` Kristoffer Haugsbakk
2023-09-06 18:04 ` Tao Klerks
2023-09-06 20:26 ` Junio C Hamano
2023-09-06 22:00 ` Sergey Organov
2023-09-06 22:15 ` Junio C Hamano
2023-09-06 22:34 ` Sergey Organov
2023-09-07 4:53 ` Tao Klerks
2023-09-07 6:33 ` Sergey Organov
2023-09-07 20:11 ` Kristoffer Haugsbakk
2023-09-07 15:07 ` Kristoffer Haugsbakk
2023-09-07 18:23 ` Junio C Hamano
2023-09-06 17:52 ` Junio C Hamano
2023-09-06 18:08 ` Kristoffer Haugsbakk
2023-09-06 19:10 ` Junio C Hamano
2023-09-06 22:11 ` Sergey Organov
2023-09-05 15:48 ` Tao Klerks
2023-09-05 0:26 ` Eric Sunshine
2023-09-05 1:09 ` Junio C Hamano
2023-09-05 5:43 ` Eric Sunshine
2023-09-05 15:13 ` Junio C Hamano [this message]
2023-09-05 16:25 ` Tao Klerks
2023-09-06 17:29 ` Kristoffer Haugsbakk
2023-09-05 16:10 ` Tao Klerks
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=xmqqmsy0slei.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=me@ttaylorr.com \
--cc=ps@pks.im \
--cc=sunshine@sunshineco.com \
--cc=tao@klerks.biz \
/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.