git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@MIT.EDU>
To: Junio C Hamano <gitster@pobox.com>
Cc: Brian Gernhardt <benji@silverinsanity.com>,
	Git List <git@vger.kernel.org>
Subject: Re: [FIXED PATCH] Make rebase save ORIG_HEAD if changing current branch
Date: Mon, 7 Jul 2008 07:18:03 -0400	[thread overview]
Message-ID: <20080707111803.GF31490@mit.edu> (raw)
In-Reply-To: <7vbq1a8ay3.fsf@gitster.siamese.dyndns.org>

On Sun, Jul 06, 2008 at 11:28:36PM -0700, Junio C Hamano wrote:
> The idea behind ORIG_HEAD is to have an anchoring point before an
> operation that moves your HEAD in a drastic way.  Think if it as a
> poor-man's reflog -- in fact it predates reflog.
> 
> That is why reset saves away the HEAD before it does its thing, so that
> you can easily say "Oops, I did not mean it -- reset ORIG_HEAD" to flip
> back to the previous state.  Both a fast-forward merge and a real merge
> can be undone by resetting back to ORIG_HEAD.
> 
> So in that sense:
> 
>  (1) ORIG_HEAD is not strictly necessary these days, because we have
>      reflogs;

True, but (and please correct me if I'm wrong) ORIG_HEAD will always
be pointing out HEAD before the user typed pretty much any git
porcelein command (which saves HEAD into ORIG_HEAD), but with reflogs,
it you have to paw through multiple HEAD@{n} to find the 'n' which
corresponds to state before executing the git plumbing command, since
multiple git plumbing commands could have updated the HEAD's reflog,
right?

One of the things that's been on my 'twoud be nice list is having an
option to "git reflog show" which prints the timestamp associated with
each reflog entry, since tools like guilt tend to create quite a few
reflog entries, and looking at the time stamps is one of the easier
ways to disentangle it.  For now what I tend to do is expand my
terminal window so it's super wide, and then look at the raw
.git/logs/HEAD file directly.

						- Ted

  parent reply	other threads:[~2008-07-07 11:20 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-06 21:22 [FIXED PATCH] Make rebase save ORIG_HEAD if changing current branch Brian Gernhardt
2008-07-07  4:43 ` Junio C Hamano
2008-07-07  5:16   ` Brian Gernhardt
2008-07-07  5:24     ` Junio C Hamano
2008-07-07  6:28     ` Junio C Hamano
2008-07-07  6:48       ` Junio C Hamano
2008-07-07 11:18       ` Theodore Tso [this message]
2008-07-07 11:42         ` Jakub Narebski
2008-07-07 15:03           ` Brian Gernhardt
2008-07-08  4:26             ` Jeff King
2008-07-08 14:32               ` Brian Gernhardt
2008-07-07 14:36         ` Brian Gernhardt
2008-07-07 18:04         ` Junio C Hamano
2008-07-07 21:58       ` Junio C Hamano
2008-07-07 22:14         ` Jakub Narebski
2008-07-07 22:33           ` Junio C Hamano
2008-07-07 22:58             ` Jakub Narebski
2008-07-08  3:24         ` Brian Gernhardt
2008-07-08  4:12           ` [PATCH] Documentation: mention ORIG_HEAD in am, merge, and rebase Brian Gernhardt
2008-07-08 19:23             ` Junio C Hamano
2008-07-08 19:28               ` Brian Gernhardt
2008-07-08  3:28         ` [FIXED PATCH] Make rebase save ORIG_HEAD if changing current branch Jay Soffian
2008-07-07  5:41   ` Mike Hommey
2008-07-07  5:46     ` Junio C Hamano
2008-07-07  5:48     ` Mike Hommey
2008-07-07  6:14 ` Nanako Shiraishi
2008-07-07  7:16   ` Re* " Junio C Hamano
2008-07-07 14:36     ` Brian Gernhardt

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=20080707111803.GF31490@mit.edu \
    --to=tytso@mit.edu \
    --cc=benji@silverinsanity.com \
    --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).