git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ron Garret <ron1@flownet.com>
To: git@vger.kernel.org
Subject: Re: master^ is not a local branch -- huh?!?
Date: Sat, 30 Jan 2010 11:24:13 -0800	[thread overview]
Message-ID: <ron1-EBAD29.11241330012010@news.gmane.org> (raw)
In-Reply-To: 7veil7pgb2.fsf@alter.siamese.dyndns.org

In article <7veil7pgb2.fsf@alter.siamese.dyndns.org>,
 Junio C Hamano <gitster@pobox.com> wrote:

> Ron Garret <ron1@flownet.com> writes:
> 
> >> > > If I do a git reset --hard then I get the old version, but I lose my 
> >> > > HEAD pointer so that git diff doesn't give me what I want any more.
> 
> I think it would be helpful to point out one issue that may hurt you (and
> anybody who thinks "git update --tree" without --index is a good idea).
> 
> Keeping the index and HEAD in sync but matching the work tree files to
> that of a different commit has one major downside.  To git, a work tree
> file that does not exist in the index is a yet-to-be-added-untracked file
> (that is how and why "rm --cached file" works, for example).  It won't
> participate in the diff output (other than being treated as "no such file
> in the work tree version").
> 
> Suppose that you used to have a path in older revision, but not in the
> current revision.  You remove everything from the work tree and replace it
> with the files in the older revision, and you do not touch HEAD nor index.
> "git diff -R" appears to show "what changed since that older version and
> the latest", because it compares what is in the index relative to what is
> in the work tree.  Nice.
> 
> Not quite.  Since the index does not know that path you recently removed,
> you won't see that path.  If you run "git ls-files" for a list of files
> known to git, it wouldn't be shown either.
> 
> Your original "git checkout master^" is a valid and probably the optimal
> way to get a checkout of a older revision (which you could feed to your
> running Lisp interpreter, in addition to being able to run "less" and
> "make" on them).  Exactly because the index is updated to that of the
> older version, you won't lose the sight of the path that you removed in a
> later version, and you can review the change with "git diff -R master".
> 
> I think this is an XY problem that comes from your wanting to use "git
> diff" (compare work tree with index) instead of "git diff $commit", and
> that was because you wanted to use "HEAD" as a name of a commit.  If you
> used a branch name you originally came from, none of this desire to "keep
> index intact" or "keep HEAD intact" would have been necessary.

That's a very good point.

> But this is all tangent; I think you now know more about git to improve
> your IDE integration, without fighting with git but instead taking
> advantage of it.

I hope so :-)

Thanks to everyone who responded in this thread.  It's been very 
educational.  I am very impressed at how supportive this community is to 
a newcomer like me.

rg

  reply	other threads:[~2010-01-30 19:25 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-29 20:20 master^ is not a local branch -- huh?!? Ron1
2010-01-29 20:27 ` Jacob Helwig
2010-01-29 20:35   ` Sverre Rabbelier
2010-01-29 20:38     ` Jacob Helwig
2010-01-29 20:48     ` Junio C Hamano
2010-01-29 20:56       ` Sverre Rabbelier
2010-01-29 21:09         ` [PATCH] checkout: warn about 'branch name' rather than 'local branch' Sverre Rabbelier
2010-01-29 21:19           ` [PATCH] checkout: Fix test for s/local branch/branch name/ change Jacob Helwig
2010-01-29 21:20             ` Sverre Rabbelier
2010-01-29 21:40           ` [PATCH] checkout: warn about 'branch name' rather than 'local branch' Nicolas Pitre
2010-01-29 21:50             ` Ron Garret
2010-01-29 21:42           ` Junio C Hamano
2010-01-29 21:45             ` Sverre Rabbelier
2010-01-29 21:35         ` master^ is not a local branch -- huh?!? Junio C Hamano
2010-01-29 21:20       ` Nicolas Pitre
2010-01-29 21:21         ` Sverre Rabbelier
2010-01-29 21:29           ` Nicolas Pitre
2010-01-29 21:32             ` Sverre Rabbelier
2010-01-29 21:51               ` Nicolas Pitre
2010-01-29 21:58                 ` Junio C Hamano
2010-01-29 22:00                   ` Sverre Rabbelier
2010-01-29 22:34                   ` Nicolas Pitre
2010-01-29 22:39                     ` Junio C Hamano
2010-01-29 22:46                       ` Jacob Helwig
2010-01-29 23:43                       ` Nicolas Pitre
2010-01-30  0:14                         ` Junio C Hamano
2010-01-30  0:18                           ` Sverre Rabbelier
2010-01-30  0:29                             ` Junio C Hamano
2010-01-30  0:35                               ` Sverre Rabbelier
2010-01-30  0:38                               ` Michael Witten
2010-01-30  0:39                               ` Nicolas Pitre
2010-01-30  1:01                               ` Mark Lodato
2010-01-30  1:22                                 ` Nicolas Pitre
2010-01-30  2:38                                   ` Ron Garret
2010-01-30  2:59                                     ` Junio C Hamano
2010-01-30  3:26                                       ` Ron Garret
2010-01-30  4:03                                         ` Nicolas Pitre
2010-01-30  5:06                                           ` Jay Soffian
2010-01-30  5:09                                         ` Junio C Hamano
2010-01-30  4:52                                       ` Jay Soffian
2010-01-30  5:15                                         ` Nicolas Pitre
2010-01-30  5:21                                           ` Junio C Hamano
2010-01-30  6:25                                             ` Ron Garret
2010-01-30 18:25                                               ` Junio C Hamano
2010-01-30  5:45                                           ` Jay Soffian
2010-01-30  5:18                                         ` Junio C Hamano
2010-01-30  6:23                                         ` Ron Garret
2010-01-30  2:40                                   ` Mark Lodato
2010-01-30  3:11                                     ` Nicolas Pitre
2010-01-30  3:59                                       ` Mark Lodato
2010-01-30  4:39                                         ` Nicolas Pitre
2010-01-30  5:05                                           ` Nicolas Pitre
2010-01-30  5:11                                             ` Jay Soffian
2010-01-30  5:25                                               ` Nicolas Pitre
2010-01-30  5:53                                           ` Mark Lodato
2010-01-30  6:03                                           ` Junio C Hamano
2010-01-30  8:59                 ` Jeff King
2010-01-30 18:40                   ` Ron Garret
2010-01-29 23:16               ` A Large Angry SCM
2010-01-29 21:49         ` Junio C Hamano
2010-01-30  2:13         ` Johannes Schindelin
2010-01-30  3:15           ` Nicolas Pitre
2010-01-29 20:35   ` Johannes Schindelin
2010-01-29 21:16     ` Ron1
2010-01-29 21:25       ` Jacob Helwig
2010-01-29 21:43         ` Ron Garret
2010-01-29 21:59           ` Junio C Hamano
2010-01-29 22:18             ` Ron Garret
2010-01-31  7:32     ` Junio C Hamano
2010-01-29 20:32 ` Octavio Alvarez
2010-01-29 21:34   ` Ron Garret
2010-01-29 22:32     ` Octavio Alvarez
2010-01-29 22:47       ` Ron Garret
2010-01-29 23:05         ` Octavio Alvarez
2010-01-29 23:12         ` Junio C Hamano
2010-01-29 23:30           ` Ron Garret
2010-01-29 23:28         ` Julian Phillips
2010-01-30  0:14           ` Ron Garret
2010-01-30  0:18             ` Ron Garret
2010-01-30 19:02               ` Junio C Hamano
2010-01-30 19:24                 ` Ron Garret [this message]
2010-01-29 20:36 ` Scott R. Godin
2010-01-29 21:24   ` Ron Garret
2010-01-29 21:28     ` Sverre Rabbelier
2010-01-29 21:40       ` Ron Garret
2010-01-29 21:54       ` Junio C Hamano
2010-01-29 22:12         ` Ron Garret
2010-01-30  0:33           ` Michael Witten
2010-01-30  3:06             ` Junio C Hamano
2010-01-30  6:16               ` Ron Garret
2010-01-30  6:45                 ` Junio C Hamano
2010-01-30  7:31                   ` Ron Garret
2010-01-30  8:02                     ` Junio C Hamano
2010-01-30  8:56                       ` Ron Garret
  -- strict thread matches above, loose matches on Subject: below --
2010-02-01 11:52 Steve Diver
2010-02-01 17:38 ` Junio C Hamano
2010-02-01 17:58   ` Sergei Organov
2010-02-01 22:52     ` Ron Garret
2010-02-01 23:01       ` Petr Baudis
2010-02-01 23:25       ` Nicolas Pitre
2010-02-01 23:37       ` Junio C Hamano
2010-02-01 23:56         ` Ron Garret
2010-02-02  0:15           ` Petr Baudis
2010-02-02  0:45             ` Ron Garret
2010-02-02  0:53               ` Junio C Hamano
2010-02-02  1:12                 ` Ron Garret
2010-02-02 19:19                   ` J. Bruce Fields
2010-02-02 22:04                     ` Ron Garret
2010-02-03 18:27                       ` J. Bruce Fields
2010-02-02  4:05               ` Nicolas Pitre
2010-02-02  5:23                 ` Ron Garret
2010-02-02  5:43                   ` Nicolas Pitre
2010-02-02 21:07                   ` tytso
2010-02-02  0:26           ` Junio C Hamano
2010-02-02  0:21       ` Junio C Hamano
2010-02-01 18:12   ` Nicolas Pitre
2010-02-01 18:27     ` Jay Soffian
2010-02-01 22:34     ` Steve Diver

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=ron1-EBAD29.11241330012010@news.gmane.org \
    --to=ron1@flownet.com \
    --cc=git@vger.kernel.org \
    /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).