From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Duy Nguyen <pclouds@gmail.com>,
Josh Triplett <josh@joshtriplett.org>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: gc and repack ignore .git/*HEAD when checking reachability
Date: Mon, 11 Jul 2016 11:52:05 -0700 [thread overview]
Message-ID: <xmqqinwc9fe2.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1607101602320.6426@virtualbox> (Johannes Schindelin's message of "Sun, 10 Jul 2016 16:16:16 +0200 (CEST)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>> No, the point is, refs subsystem needs to know which refs is per-repo,
>> which is per-worktree. So far the rules are "everything under refs,
>> except a few known exceptions, is per-repo" and "everything directly
>> under $GIT_DIR is per-worktree", which work fine. But if you allow to
>> move per-worktree to "refs" freely, then the "known exceptions" will
>> have to be updated every time a new per-worktree ref appears. It'll be
>> easier to modify the first rule as "everything under refs, except some
>> legacy exceptions and refs/worktree, is per-repo".
>
> Given the substantial pain and suffering I have due to per-worktree
> reflogs (and those are *just* HEAD's reflogs!), it appears to me that
> per-worktree refs would be a particularly poor feature.
>
> I agree that HEAD needs to be per-worktree, but already the fact that the
> HEADs of the worktrees, along with their reflogs, are *not* visible to
> all other worktrees causes substantial trouble.
Not so fast; it cuts both ways.
People who want multiple worktrees with branches checked out to work
in would want to do per-worktree things like bisection, which needs
tons more state than we'd be comfortable having directly under
$GIT_DIR (e.g. they may also want "git merge" or "git pull", which
would use MERGE_HEAD and FETCH_HEAD that are per-worktree and not
under refs/; "git bisect" would want to mark number of commits to
denote the perimeter of the area of the history being bisected and
they live refs/bisect/).
And when you are bisecting in the worktree dedicated for a topic,
it is a feature that your other worktrees do not need to see how
much history you narrowed down in that topic.
next prev parent reply other threads:[~2016-07-11 18:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-08 2:59 gc and repack ignore .git/*HEAD when checking reachability Josh Triplett
2016-07-08 4:34 ` Junio C Hamano
2016-07-08 6:44 ` Josh Triplett
2016-07-08 17:14 ` Junio C Hamano
2016-07-08 19:25 ` Theodore Ts'o
2016-07-08 20:30 ` Junio C Hamano
2016-07-08 23:50 ` Theodore Ts'o
2016-07-09 5:23 ` Josh Triplett
2016-07-08 20:29 ` Josh Triplett
2016-07-09 7:35 ` Johannes Schindelin
2016-07-09 14:09 ` Josh Triplett
2016-07-09 16:45 ` Duy Nguyen
2016-07-10 10:59 ` Johannes Schindelin
2016-07-10 11:04 ` Duy Nguyen
2016-07-10 14:16 ` Johannes Schindelin
2016-07-10 15:01 ` Duy Nguyen
2016-07-11 6:07 ` Johannes Schindelin
2016-07-11 18:52 ` Junio C Hamano [this message]
2016-07-12 10:47 ` Johannes Schindelin
2016-07-12 15:26 ` Jeff King
2016-07-12 15:46 ` Duy Nguyen
2016-07-12 15:51 ` Jeff King
2016-07-12 16:13 ` Duy Nguyen
2016-07-13 8:20 ` Johannes Schindelin
2016-07-13 14:54 ` Duy Nguyen
2016-07-13 18:59 ` Johannes Schindelin
2016-07-15 15:46 ` Duy Nguyen
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=xmqqinwc9fe2.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=josh@joshtriplett.org \
--cc=pclouds@gmail.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.