Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: 'git grep needle rev' attempts to access 'rev:.../.gitattributes' in the worktree

From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:54:58

On Wed, Oct 10, 2012 at 12:33 PM, Junio C Hamano [off-list ref] wrote:
Nguyen Thai Ngoc Duy [off-list ref] writes:
quoted
On Wed, Oct 10, 2012 at 1:59 AM, Junio C Hamano [off-list ref] wrote:
quoted
Jeff King [off-list ref] writes:
quoted
I think we just need to have callers of grep_source_init provide us with
the actual pathname (or NULL, in the case of GREP_SOURCE_BUF). That is
where the information is lost.
Yes.  I agree that is the right approach.
Passing full path this way means prepare_attr_stack has to walk back
to top directory for every files (even in the same directory). If
.gitattributes are loaded while git-grep traverses the tree, then it
can preload attr once per directory. But Jeff's approach looks
simpler.
Why can't you do both?  That is, to build a full path as you
descend, and read per-directory .gitattributes as you go?
Hm... I need to check attr.c code but I think it means read
.gitattributes and prepare attr stack in builtin/grep.c (where we
traverse trees) and actually check the attribute in
grep_source_load_driver(), much further down the call stack. I'm not
sure how we can pass the prepared attr stack down to
grep_source_load_driver().
-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help