Re: [PATCH] patch-id: Add support for mbox format
- From
Paolo Bonzini <bonzini@gnu.org>
- Date
- Apr 16, 2010, 21:52 UTC
- Message-ID
- <4BC8DC0F.5010007@gnu.org>
- In-Reply-To
- <7vochjay8a.fsf@alter.siamese.dyndns.org>
On 04/16/2010 11:23 PM, Junio C Hamano wrote:
Show 15 quoted lines
>>>> I have an alias that takes two arguments and compares their patch IDs. >>>> I would like to use to make sure I've tested exactly what I submit >>>> (patch by patch), like >>>> >>>> git patch-cmp origin/master.. file-being-sent >>>> ... >>> >>> I somehow have a feeling that this is solving a wrong problem. >> >> In what sense? > > Why does file-being-sent have anything from origin/master to begin with? > Perhaps the --ignore-if-in-upstream mechanism needs to be updated so that > you won't have duplicates that patch-id could easily find in the first > place?
I think we're speaking about different things, --ignore-if-in-upstream doesn't have anything to do with this. The git patch-cmp alias is just checking that
git show origin/master.. | git patch-id | tac | awk '{print $1}'and
git patch-id < file-being-sent | awk '{print $1}'produce the exact same output.
I use this when I had to edit the file-being-sent, e.g. to add cover letters or an introduction to a patch series. Since some time passes between format-patch and send-email, I want to test that the file I'm sending is exactly what I have in the repository, and that I'm not submitting the wrong series.
Alternatively, I could apply file-being-sent to a detached HEAD and compare the trees, like
topic=`git rev-parse HEAD`
git checkout origin/master
git am file-being-sent || echo bad
mine=HEAD
for i in `git rev-list origin/master..$topic`; do
git diff-tree $i $mine || echo bad
mine=${mine}^
doneHowever, comparing the patch-id is faster and perfect for this job. What were your intended uses for the git-patch-id utility?
Paolo