git grep broken in Fedora 21 update?
- From
- Rustad, Mark D <mark.d.rustad@intel.com>
- Date
- Sep 4, 2015, 00:04 UTC
- Message-ID
- <9CAA4751-D295-4ACE-8ED6-720D728D24EA@intel.com>
I just found a case where grep and git grep yield different results. Inside the ixgbe directory of the Linux kernel I did:
$ grep enter_lplu *.[ch]
And got the following:
ixgbe_main.c: if (adapter->hw.phy.ops.enter_lplu) { ixgbe_main.c: adapter->hw.phy.ops.enter_lplu(&adapter->hw); ixgbe_type.h: s32 (*enter_lplu)(struct ixgbe_hw *); ixgbe_x550.c:/** ixgbe_enter_lplu_x550em - Transition to low power states ixgbe_x550.c:static s32 ixgbe_enter_lplu_t_x550em(struct ixgbe_hw *hw) ixgbe_x550.c: phy->ops.enter_lplu = ixgbe_enter_lplu_t_x550em;
But when I did:
$ git grep enter_lplu
I got:
ixgbe_main.c: if (adapter->hw.phy.ops.enter_lplu) { ixgbe_main.c: adapter->hw.phy.ops.enter_lplu(&adapter->hw); ixgbe_type.h: s32 (*enter_lplu)(struct ixgbe_hw *); ixgbe_x550.c:/** ixgbe_enter_lplu_x550em - Transition to low power states ixgbe_x550.c:static s32 ixgbe_enter_lplu_t_x550em(struct ixgbe_hw *hw)
You can see that git grep missed the line in ixgbe_x550.c that had two hits on the string.
This was with git 2.1.0 in Fedora 21. I use git grep a lot and never noticed a problem before. I just updated my Fedora 21 system yesterday, so I have to figure that has something to do with it. I checked and git didn't get updated, so I figure it must be a library that is really broken.
I see in my update log that pcre was updated to:
pcre.x86_64 0:8.35-12.fc21 pcre-devel.x86_64 0:8.35-12.fc21
Yet the grep command is unaffected.
-- Mark Rustad, Networking Division, Intel Corporation