All of lore.kernel.org
 help / color / mirror / Atom feed
From: Don Zickus <dzickus@redhat.com>
To: git@vger.kernel.org
Subject: using git-blame with patches as input
Date: Mon, 16 Jun 2008 17:35:17 -0400	[thread overview]
Message-ID: <20080616213517.GE20727@redhat.com> (raw)

I deal with a lot of backported patches that are a combination of multiple
commits.  I was looking to develop a tool that would help me determine
which chunks of the patch are upstream (not necessarily currently in HEAD
but at some point in the file's history).

For example, if I took the top three commits from HEAD and appended them
into one patch file and then ran this tool with the patch as input, I
would hope that it gave as output the three original commits.

git-blame seem to handle a lot of the pieces I would need but my little
brain can't follow all the logic behind some of the mechanisms.

Seeing that git-blame can take patch chunks and traverse through commit
history to see if a particular chunk can be blamed on a parent, I feel
like I am most of the way there.  Unfortunately, I don't quite understand
some of the algorithms git-blame does when it splits the patch chunks into
smaller pieces to determine which pieces are blame-able on the parents.

Is there anyone who can help explain some of the low level logic to me?

What I would like to do is take a patch as input, split it into chunks and
traverse through the commit history looking for a match (or something of
high similarity) and output that commit id for each patch chunk.

git-cherry does something close but patches have to be exact whereas my
situation has a combination of patches.  I also understand there are
plenty of normal scenerios where my approach falls flat on its face (but I
have ideas for those).  I just wanted to get a simple common case going
first.

Thanks in advance.

Cheers,
Don

             reply	other threads:[~2008-06-16 21:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-16 21:35 Don Zickus [this message]
2008-06-16 21:45 ` using git-blame with patches as input Junio C Hamano
2008-06-17 14:15   ` Don Zickus
2008-06-16 21:54 ` Junio C Hamano
2008-06-16 22:08   ` Junio C Hamano
2008-06-17 14:17   ` Don Zickus

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=20080616213517.GE20727@redhat.com \
    --to=dzickus@redhat.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 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.