Thread (3 messages) 3 messages, 3 authors, 2016-06-16

Re: avoid duplicate patches from git log ?

From: Jeff King <hidden>
Date: 2016-06-16 02:19:09

On Tue, May 03, 2016 at 09:11:55PM +0100, Philip Oakley wrote:
However, as the G4W project (https://github.com/git-for-windows/git/)
follows the main git repo and its releases, it needs to rebase it's fixup
patches, while retaining their original series, so has repeated copies of
those fix patches on the second parent path (a technique Dscho called
rebasing merges).

for example:
quoted
bf1a7ff (MinGW: disable CRT command line globbing, 2011-01-07)
a05e9a8 (MinGW: disable CRT command line globbing, 2011-01-07)
45cfa35 (MinGW: disable CRT command line globbing, 2011-01-07)
1d35390 (MinGW: disable CRT command line globbing, 2011-01-07)
022e029 (MinGW: disable CRT command line globbing, 2011-01-07)

How can I filter out all the duplicate patches which are identical other
than the commit date?

The --left --right and --cherry don't appear to do what I'd expect/hope. Any
suggestions?
I don't think there's a good way right now. The option that suppresses
commits is --cherry-pick, but it wants there to be a "left" and "right"
from a symmetric difference, and to cull duplicates from the various
sides.

I think you really just want to keep a running list of all of the
commits you've seen and cull any duplicates. I guess you'd want this as
part of the history simplification step, so that whole uninteresting
side-branches are culled.

The obvious choice for matching two commits is patch-id, though it can
be expensive to generate. There have been patches playing around with
caching in the past, but nothing merged. For your purposes, I suspect
matching an "(author, authordate, subject)" tuple would be sufficient
and fast.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help