Re: [PATCH 24/34] checkout: reject if the branch is already checked out elsewhere
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:03:10
Duy Nguyen [off-list ref] writes:
On Wed, Dec 3, 2014 at 12:30 AM, Junio C Hamano [off-list ref] wrote:quoted
quoted
I do like "read-only" ref concept where we can keep ref name (especially tags) in HEAD until the next commit. But it didn't go anywhereRemind me. That sounds somewhat interesting.Couldn't find anything in my mail archive. But the idea is simple: - we delay detaching HEAD until we need to update the associated ref at commit/reset time - currently refs/tags/* are read-only. we generalize it to allow this 'read-only' attribute on some refs/heads/* as well. Because we can't really add attributes to refs, config var could be used.
It could be some annotation in HEAD instead, e.g.
$ cat .git/HEAD
ref: refs/heads/frotz
options: read-only
$ exit
and it may make more sense as this read-only-ness is closely tied to
the state of HEAD, i.e. whatever operation that manipulates the
HEAD, it needs to be very much aware of the read-only-ness, and it
is much less likely to go out of sync, compared to a solution where
you store this bit to anywhere else, e.g. config.