From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 0/4] deprecating core.preferSymlinkRefs
Date: Mon, 30 Sep 2024 10:45:03 +0200 [thread overview]
Message-ID: <ZvplBAl5DrcX-Q3u@pks.im> (raw)
In-Reply-To: <20240918232825.2627999-1-gitster@pobox.com>
On Wed, Sep 18, 2024 at 04:28:21PM -0700, Junio C Hamano wrote:
> Removal of support for core.preferSymlinkRefs at Git 3.0 boundary,
> so that we only write textual symrefs for things like HEAD and
> refs/remotes/origin/HEAD, and still understand symbolic links used
> as symrefs in existing repositories, is a serious proposal this
> patch series makes.
I probably don't have have to say that I fully support dropping support
for the writing side of this :) I was also recently reminded that we
still have ".git/branches", which I'd very much like to drop support for
with Git 3.0, too. I'll send a separate patch series for that soonish.
> But at the same time, this is an RFC. I wrote it to serve as a
> candidate for BCP, a guide to those who want to add an entry to the
> breaking changes document. I think anything that is described in
> the breaking changes document has to become a patch series that
> spans multi-year effort, and that must be done with care.
>
> - The proposal phase. A breaking change is outlined, transition
> plan is given, and the first step of the transition (often,
> starting to give a warning and offering an alternative to the
> feature planned to be removed are involved) is presented. The
> aim is that after N years, the user base will be aware of the
> upcoming removal and would already be prepared to be able to work
> with Git 3.0 that lacks the removed feature.
>
> In this series, [Patch 1/4] does this.
>
> - The Git 3.0 phase. A breaking change is actually implemented.
> It optionally can offer help to those who procrastinated until
> the last-minute to break them, but the feature itself is gone.
>
> In this series, [PATCH 2/4] and [Patch 3/4] do this.
>
> - Clean-up phase. If the previous phase added an additional
> transition help, after M years, such a help meant for transition
> would be removed.
>
> In this series, [PATCH 4/4] does this.
>
> What I want people to think about is how to ensure quality of the
> Git 3.0 phase. We can iterate and polish the proposal phase with as
> much time as we want to spend, just like any new feature. But Git
> 3.0 phase is with a solid deadline, and before that time, we cannot
> remove the feature for real. Would we cook such steps in 'next'
> forever until the actual Git 3.0? To those users who are running
> 'next' based Git, it would mean that some of the changes the
> breaking changes document listed would come a lot earlier to them.
> On the other hand, unless we somehow have a way to expose willing
> volunteers an early access to these "big changes", there is no way
> for them to be as stable and tested. We should not plan to scramble
> and be able to perfect these changes between Git v3.0-rc0 and Git
> v3.0 final.
>
> Or perhaps use the "experimental.*" configuration stored in the
> user's ~/.gitconfig to let users opt into Git 3.0 features (one of
> which may be that textual symrefs are always used regardless of the
> core.preferSymlinkRefs setting)? That way, we can merge these big
> changes early without worrying about accidentally affecting the
> end-user population.
I guess you've split this out into a separate discussion by now at [1],
right? I've already commented on that series, so I'm not going to repeat
what I've said here :)
Patrick
[1]: <xmqq7cb77810.fsf@gitster.g>
next prev parent reply other threads:[~2024-09-30 8:45 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-18 23:28 [PATCH 0/4] deprecating core.preferSymlinkRefs Junio C Hamano
2024-09-18 23:28 ` [PATCH 1/4] refs: deprecate core.preferSymlinkRefs Junio C Hamano
2024-09-30 8:45 ` Patrick Steinhardt
2024-09-18 23:28 ` [PATCH 2/4] refs: mostly remove core.preferSymlinkRefs Junio C Hamano
2024-09-30 19:28 ` Jeff King
2024-09-30 20:13 ` Junio C Hamano
2024-09-18 23:28 ` [PATCH 3/4] refs: remove NO_SYMLINK_HEAD Junio C Hamano
2024-09-18 23:28 ` [PATCH 4/4] refs: remove the last remnants of core.preferSymlinkRefs Junio C Hamano
2024-09-18 23:38 ` [PATCH 0/4] deprecating core.preferSymlinkRefs Derrick Stolee
2024-09-19 0:26 ` Junio C Hamano
2024-09-30 8:45 ` Patrick Steinhardt [this message]
2024-09-30 18:21 ` Junio C Hamano
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=ZvplBAl5DrcX-Q3u@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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).