All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Rast <trast@student.ethz.ch>
To: Daniele Segato <daniele.bilug@gmail.com>, Soham Mehta <soham@box.net>
Cc: <git@vger.kernel.org>
Subject: Re: Finding a commit
Date: Wed, 21 Oct 2009 14:37:37 +0200	[thread overview]
Message-ID: <200910211437.39166.trast@student.ethz.ch> (raw)
In-Reply-To: <9accb4400910210530k75a763cbtbc9294d937de9242@mail.gmail.com>

Daniele Segato wrote:
> On Wed, Oct 21, 2009 at 1:29 PM, Soham Mehta <soham@box.net> wrote:
> > Because SHA1 can change if a commit is cherry-picked around, I cannot just
> > grep for that SHA1 from git-rev-list or git-log on 'y'. I need a way to know
> > if a commit with identical changes (as in 'x') is also present in 'y'.

man git-patch-id (online at http://git.or.cz/man/git-patch-id).

Note that if the cherry-pick conflicted, you'll get a different
patch-id.

> I'm really not an expert of git..
> 
> but A commit is something like:
> 
> Commit -> Tree ---> Blob1, Blob2, Blob3
> 
> Commit, Trees and Blobs are all identified by sha1
> the commit should keep information on the author, the "parent"
> commit(s) and so on..
> the tree should just keep the "snapshot" of the data..
> 
> so I think that if you search for the SHA-1 of the tree you should be fine..

Not if you really want to find out if X was cherry-picked into this
repository, because the tree is the *final state* at that commit,
which of course includes all preceding changes.

So suppose you have two patches A.diff and B.diff introducing files of
the same name; then if you combine them into history as

  A -- B

the tree state at B has both files, and hence is different from the
tree state of B' in

  B' -- A'

because there it only has the file B.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

  reply	other threads:[~2009-10-21 12:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-21 11:29 Finding a commit Soham Mehta
2009-10-21 12:30 ` Daniele Segato
2009-10-21 12:37   ` Thomas Rast [this message]
2009-10-21 13:55     ` Daniele Segato
2009-10-21 13:26 ` Douglas Campos
  -- strict thread matches above, loose matches on Subject: below --
2009-10-22  8:32 Soham Mehta

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=200910211437.39166.trast@student.ethz.ch \
    --to=trast@student.ethz.ch \
    --cc=daniele.bilug@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=soham@box.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.