Subject: Can't find the revelant commit with git-log

From: Francis Moreau <[email-masked]>
Date: Tue, 25 Jan 2011 10:01:47 +0100

Hello,

I'm trying to find out a commit which removed a function inside a file.

The project is the Linux kernel, and I'm trying to look for changes
which happened between v2.6.27 and v2.6.28. The changes happened in the
following file: drivers/pci/intel-iommu.c where a function has been
removed:

   $ git --version
   git version 1.7.4.rc3

   $ cd ~/linux-2.6/drivers/pci/
   $ git grep blacklist v2.6.27 -- drivers/pci/intel-iommu.c
   $

No ouput... hmm, I know it's in... oh maybe the path is incorrect

   $ git git grep blacklist v2.6.27 -- intel-iommu.c
   v2.6.27:intel-iommu.c:static int blacklist_iommu(const struct dmi_system_id *id)
   v2.6.27:intel-iommu.c:          .callback = blacklist_iommu,

ah, so Git failed previously without any comments on the wrong
path... maybe it should ?

So at that point I know that in the revision v2.6.27, there's a function
called "blacklist_iommu" in drivers/pci/intel-iommu.c

Now take a look if it's still there in v2.6.28:

   $ git git grep blacklist v2.6.28 -- intel-iommu.c
   $

This time nothing is printed but I know that the command is correct.

So now I'm interested in looking for the commit which removed this
function. Fo this I'm trying to use git-log(1):

   $ git log --full-history --follow -S'static int blacklist_iommu(const struct dmi_system_id *id)' v2.6.27..v2.6.28 -- intel-iommu.c
   $ echo $?
   0

I tried different options but it fails.

Also I found that passing the exact string to '-S' is annoying, are
there any way to just pass a part of the string such as
"-Sblacklist_iommu" ?

Sorry if I miss the revelant git-log's option, but there're so many...
-- 
Francis