Re: Can't find the revelant commit with git-log
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 1, 2011, 21:28 UTC
- Message-ID
- <7vr5brzbpb.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <4D4477E4.6020006@lsrfire.ath.cx>
René Scharfe <rene.scharfe@lsrfire.ath.cx> writes:
Show 6 quoted lines
> 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).
Show 10 quoted lines
> 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@gmail.com> > Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Thanks.
Show 32 quoted lines
> --- > 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