Renà Scharfe <rene.scharfe@xxxxxxxxxxxxxx> writes: > Subject: revision: let --full-history keep half-interesting merges > > Don't simplify merges away that have at least one parent with changes in > the interesting subset of files if --full-history has been specified. > The previous behaviour hid merges with one uninteresting parent, which > could lead to history that removed code to become undetectable. I think this patch makes a lot more sense than what I've seen in this thread (including mine). > E.g., this command run against the Linux kernel repo only found one > merge that brought the specified function in (and the regular commit > which added it in the first place), but missed the 92 merges that > removed it, as well as 67 other merges that added it back: > > $ git log -m --full-history -Sblacklist_iommu \ > v2.6.26..v2.6.29 -- drivers/pci/intel-iommu.c > > Reported-by: Francis Moreau <francis.moro@xxxxxxxxx> > Signed-off-by: Rene Scharfe <rene.scharfe@xxxxxxxxxxxxxx> Thanks. > --- > revision.c | 2 ++ > t/t6016-rev-list-graph-simplify-history.sh | 1 + > 2 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/revision.c b/revision.c > index 7b9eaef..84c231b 100644 > --- a/revision.c > +++ b/revision.c > @@ -434,6 +434,8 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit) > case REV_TREE_OLD: > case REV_TREE_DIFFERENT: > tree_changed = 1; > + if (!revs->simplify_history) > + return; > pp = &parent->next; > continue; > } > diff --git a/t/t6016-rev-list-graph-simplify-history.sh b/t/t6016-rev-list-graph-simplify-history.sh > index f7181d1..50ffcf4 100755 > --- a/t/t6016-rev-list-graph-simplify-history.sh > +++ b/t/t6016-rev-list-graph-simplify-history.sh > @@ -168,6 +168,7 @@ test_expect_success '--graph --full-history --simplify-merges -- bar.txt' ' > echo "|\\ " >> expected && > echo "| * $C4" >> expected && > echo "* | $A5" >> expected && > + echo "* | $A4" >> expected && > echo "* | $A3" >> expected && > echo "|/ " >> expected && > echo "* $A2" >> expected && > -- > 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html