problem with git-diff-tree -S

From: Paul Mackerras <hidden>
Date: 2016-06-15 22:42:01

I'm trying to implement a find function in gitk that will find commits
where the patch includes a particular string, using git-diff-tree.
It's not doing what I expect - am I expecting the wrong thing, or is
there a bug in git-diff-tree?

As an example, take commit 92a582ed2757456ca9599f8b4ea2064f2154eb02,
"[IA64] sparse cleanup of TIOCA files".  If I put that ID in a file
called id and do:

git-diff-tree --stdin -p <id

the resulting patch includes the lines:

-uint64_t
+static uint64_t

+int sn_topology_open(struct inode *inode, struct file *file);
+int sn_topology_release(struct inode *inode, struct file *file);

+extern struct list_head tioca_list;

Now if I do:

git-diff-tree --stdin -r -s -Ssn_topology <id

I get the ID printed to stdout, but if I do:

git-diff-tree --stdin -r -s -Stioca <id

I get nothing on stdout, and similarly if I use "-Sstatic".  What's
going on?

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