From: "Björn Steinbrink" <B.Steinbrink@gmx.de>
To: Julian Phillips <julian@quantumfyre.co.uk>
Cc: Daniel Barkalow <barkalow@iabervon.org>,
James Pickens <jepicken@gmail.com>, Jeff King <peff@peff.net>,
Junio C Hamano <gitster@pobox.com>,
Nicolas Pitre <nico@fluxnic.net>,
Jay Soffian <jaysoffian@gmail.com>,
git@vger.kernel.org
Subject: Re: [PATCH] Proof-of-concept patch to remember what the detached HEAD was
Date: Fri, 16 Oct 2009 16:30:41 +0200 [thread overview]
Message-ID: <20091016143041.GA11821@atjola.homenet> (raw)
In-Reply-To: <alpine.LNX.2.00.0910161311460.28491@reaper.quantumfyre.co.uk>
On 2009.10.16 13:15:35 +0100, Julian Phillips wrote:
> On Thu, 15 Oct 2009, Daniel Barkalow wrote:
>
> >On Thu, 15 Oct 2009, James Pickens wrote:
> >
> >>How about not detaching the head at all if the user checks out any ref, and
> >>reject commits if he checked out a tag or remote branch. For example:
> >>
> >>$ git checkout origin/master
> >>$ git status
> >># On branch origin/master
> >>$ git commit ;# complain
> >
> >$ git checkout origin/master
> >$ git fetch
> >$ git checkout origin/next
> >Uncommited file '...' would be overwritten.
>
> How about:
>
> $ git checkout origin/master
> $ git fetch
> Refusing to fetch, as it would update a checkedout branch
> "git fetch -f" will force the update, but you will need to run "git
> reset --hard HEAD" to update your checkout to match.
That would redefine -f (currently means "allow non-fast-forward
updates"), the flag that allows the checked out branch head to be
updated is -u, --update-head-ok, and is for internal use only.
And suggesting "reset --hard" seems wrong, that just kills any
uncommitted changes.
And such uncommitted changes would be lost in the big "undo the fetch
update" diff. So you'd have to do:
git reset --soft HEAD@{1}
git checkout --merge HEAD@{1}
to keep them, while updating to the new state of the remote tracking
branch. Not quite intuitive, is it?
Björn
next prev parent reply other threads:[~2009-10-16 14:33 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-14 4:44 [PATCH] Proof-of-concept patch to remember what the detached HEAD was Daniel Barkalow
2009-10-14 5:07 ` Junio C Hamano
2009-10-14 5:08 ` Jeff King
2009-10-14 10:33 ` Johannes Schindelin
2009-10-14 15:39 ` Jeff King
2009-10-14 18:34 ` Junio C Hamano
2009-10-14 18:40 ` Jeff King
2009-10-14 15:56 ` Daniel Barkalow
2009-10-14 18:56 ` Jay Soffian
2009-10-14 19:15 ` Daniel Barkalow
2009-10-14 20:18 ` Nicolas Pitre
2009-10-14 20:37 ` Daniel Barkalow
2009-10-14 20:42 ` Junio C Hamano
2009-10-14 20:48 ` Nicolas Pitre
2009-10-14 22:34 ` Junio C Hamano
2009-10-14 23:09 ` Jeff King
2009-10-14 23:34 ` Nicolas Pitre
2009-10-15 0:56 ` Junio C Hamano
2009-10-15 1:47 ` Jeff King
2009-10-15 3:08 ` Nicolas Pitre
2009-10-15 4:21 ` Jeff King
2009-10-16 1:04 ` Johannes Schindelin
2009-10-16 1:36 ` Nicolas Pitre
2009-10-16 2:07 ` Johannes Schindelin
2009-10-16 2:45 ` Nicolas Pitre
2009-10-16 2:56 ` Junio C Hamano
2009-10-17 7:24 ` Sean Estabrooks
2009-10-26 22:22 ` Johannes Schindelin
2009-10-27 3:41 ` Nanako Shiraishi
2009-10-27 10:33 ` Making Git easy to use -- without RTFM, was " Johannes Schindelin
2009-10-27 17:58 ` Avery Pennarun
2009-10-16 0:53 ` Johannes Schindelin
2009-10-16 3:00 ` Junio C Hamano
2009-10-15 7:36 ` James Pickens
2009-10-15 12:54 ` Jakub Narebski
2009-10-15 14:11 ` Björn Steinbrink
2009-10-15 19:03 ` Nicolas Pitre
2009-10-15 15:36 ` Daniel Barkalow
2009-10-15 16:29 ` Michael J Gruber
2009-10-15 19:07 ` Nicolas Pitre
2009-10-15 19:22 ` Daniel Barkalow
2009-10-15 22:56 ` Thomas Rast
2009-10-15 18:51 ` Nicolas Pitre
2009-10-15 19:52 ` Junio C Hamano
2009-10-15 21:26 ` Jeff King
2009-10-15 21:54 ` Junio C Hamano
2009-10-15 22:08 ` Junio C Hamano
2009-10-15 23:16 ` Nicolas Pitre
2009-10-15 23:47 ` James Pickens
2009-10-16 0:34 ` Nicolas Pitre
2009-10-16 0:43 ` Johannes Schindelin
2009-10-16 5:03 ` Björn Steinbrink
2009-10-15 22:16 ` Jeff King
2009-10-15 22:17 ` Jeff King
2009-10-16 4:29 ` Björn Steinbrink
2009-10-16 6:02 ` Daniel Barkalow
2009-10-16 8:27 ` Björn Steinbrink
2009-10-16 15:44 ` Nicolas Pitre
2009-10-15 19:31 ` Daniel Barkalow
2009-10-15 20:34 ` Junio C Hamano
2009-10-15 21:35 ` Daniel Barkalow
2009-10-15 21:48 ` Nicolas Pitre
2009-10-16 12:15 ` Julian Phillips
2009-10-16 14:30 ` Björn Steinbrink [this message]
2009-10-16 17:31 ` Julian Phillips
2009-10-16 18:29 ` Daniel Barkalow
2009-10-16 19:05 ` Junio C Hamano
2009-10-16 19:48 ` Julian Phillips
2009-10-16 20:19 ` Nicolas Pitre
2009-10-17 15:15 ` Julian Phillips
2009-10-17 17:04 ` Björn Steinbrink
2009-10-17 17:35 ` Julian Phillips
2009-10-17 17:48 ` Björn Steinbrink
2009-10-17 22:28 ` Julian Phillips
2009-10-16 20:19 ` Junio C Hamano
2009-10-17 15:32 ` Julian Phillips
2009-10-17 17:43 ` Junio C Hamano
2009-10-17 22:19 ` Julian Phillips
2009-10-17 7:55 ` Björn Steinbrink
2009-10-17 8:11 ` Junio C Hamano
2009-10-17 8:40 ` Björn Steinbrink
2009-10-17 9:04 ` Junio C Hamano
2009-10-17 17:07 ` James Pickens
2009-10-17 19:41 ` Björn Steinbrink
2009-10-18 22:47 ` Junio C Hamano
2009-10-19 8:44 ` Björn Steinbrink
2009-10-17 15:02 ` Julian Phillips
2009-10-14 23:52 ` Eric Raible
2009-10-16 22:36 ` Christoph Bartoschek
2009-10-17 7:43 ` Junio C Hamano
2009-10-17 8:19 ` Björn Steinbrink
2009-10-17 17:42 ` Junio C Hamano
2009-10-17 20:35 ` Daniel Barkalow
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=20091016143041.GA11821@atjola.homenet \
--to=b.steinbrink@gmx.de \
--cc=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jaysoffian@gmail.com \
--cc=jepicken@gmail.com \
--cc=julian@quantumfyre.co.uk \
--cc=nico@fluxnic.net \
--cc=peff@peff.net \
/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).