Re: [PATCH] Proof-of-concept patch to remember what the detached HEAD was
- From
Nicolas Pitre <nico@fluxnic.net>
- Date
- Oct 15, 2009, 21:48 UTC
- Message-ID
- <alpine.LFD.2.00.0910151743230.20122@xanadu.home>
- In-Reply-To
- <alpine.LNX.2.00.0910151653480.32515@iabervon.org>
On Thu, 15 Oct 2009, Daniel Barkalow wrote:
Show 23 quoted lines
> On Thu, 15 Oct 2009, Junio C Hamano wrote: > > > Daniel Barkalow <barkalow@iabervon.org> writes: > > > > > $ git checkout origin/master > > > $ git fetch > > > $ git checkout origin/next > > > Uncommited file '...' would be overwritten. > > > > > > If HEAD is a symref to refs/remotes/origin/master, and you update > > > refs/remotes/origin/master, git will subsequently see that your index > > > doesn't match HEAD, and when you switch branches, it will try to apply a > > > revert to the branch you're switching to. It's the same issue as pushing > > > into a non-bare repository. > > > > I think the idea here is to allow HEAD to point at outside refs/heads/, > > e.g. refs/remotes/origin/master, but forbid commit and other commands from > > updating HEAD and its underlying ref via update_ref() unless HEAD is > > detached or points at a local branch. > > $ git checkout origin/master > $ git fetch > (Some error)
Right.
So we're back to your initial proposal I guess (storing some info/state in .git/HEAD when detached).
Nicolas