From: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
To: Johannes Sixt <j.sixt@viscovery.net>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: 'git grep needle rev' attempts to access 'rev:.../.gitattributes' in the worktree
Date: Tue, 9 Oct 2012 19:01:44 +0700 [thread overview]
Message-ID: <20121009120144.GA8780@do> (raw)
In-Reply-To: <CACsJy8BFmUr5_E47900T6j9Lgdvj96_dNbo2LHP5hLYq3w7ZLA@mail.gmail.com>
On Tue, Oct 09, 2012 at 04:38:32PM +0700, Nguyen Thai Ngoc Duy wrote:
> #5 0x0815e736 in userdiff_find_by_path (path=0x820e7f0
> "HEAD:Documentation/.gitattributes") at userdiff.c:278
> #6 0x081058ca in grep_source_load_driver (gs=0xbfffd978) at grep.c:1504
A bandage patch may look like this. But it does not solve the real
problem:
- we should be able to look up in-tree .gitattributes, not just
ignore like this patch does
- gs->name seems to be prepared for human consumption, not for
accessing files. grep_file() with opt->relative is true can put
quotes in gs->name, for example.
I feel like we should make this function a callback and let git-grep
deal with driver loading itself.
-- 8< --
diff --git a/grep.c b/grep.c
index edc7776..c5ed067 100644
--- a/grep.c
+++ b/grep.c
@@ -1501,7 +1501,8 @@ void grep_source_load_driver(struct grep_source *gs)
return;
grep_attr_lock();
- gs->driver = userdiff_find_by_path(gs->name);
+ if (gs->type == GREP_SOURCE_FILE)
+ gs->driver = userdiff_find_by_path(gs->name);
if (!gs->driver)
gs->driver = userdiff_find_by_name("default");
grep_attr_unlock();
-- 8< --
--
Duy
next prev parent reply other threads:[~2012-10-09 12:02 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-09 9:03 'git grep needle rev' attempts to access 'rev:.../.gitattributes' in the worktree Johannes Sixt
2012-10-09 9:38 ` Nguyen Thai Ngoc Duy
2012-10-09 12:01 ` Nguyen Thai Ngoc Duy [this message]
2012-10-09 12:41 ` Jeff King
2012-10-09 18:59 ` Junio C Hamano
2012-10-10 5:17 ` Nguyen Thai Ngoc Duy
2012-10-10 5:33 ` Junio C Hamano
2012-10-10 5:45 ` Nguyen Thai Ngoc Duy
2012-10-10 11:34 ` Nguyễn Thái Ngọc Duy
2012-10-10 11:34 ` [PATCH 1/3] quote: let caller reset buffer for quote_path_relative() Nguyễn Thái Ngọc Duy
2012-10-10 21:13 ` Junio C Hamano
2012-10-11 13:04 ` Nguyen Thai Ngoc Duy
2012-10-11 16:42 ` Junio C Hamano
2012-10-10 11:34 ` [PATCH 2/3] grep: pass true path name to grep machinery Nguyễn Thái Ngọc Duy
2012-10-10 11:34 ` [PATCH 3/3] grep: stop looking at random places for .gitattributes Nguyễn Thái Ngọc Duy
2012-10-10 11:51 ` Johannes Sixt
2012-10-10 12:03 ` Nguyen Thai Ngoc Duy
2012-10-10 12:12 ` Johannes Sixt
2012-10-10 12:32 ` Nguyen Thai Ngoc Duy
2012-10-10 12:43 ` Johannes Sixt
2012-10-10 12:51 ` Nguyen Thai Ngoc Duy
2012-10-10 19:44 ` Junio C Hamano
2012-10-11 5:55 ` Johannes Sixt
2012-10-11 7:04 ` Michael Haggerty
2012-10-11 8:17 ` Nguyen Thai Ngoc Duy
2012-10-10 13:59 ` [PATCH v2 0/2] Re: 'git grep needle rev' attempts to access 'rev:.../.gitattributes' in the worktree Nguyễn Thái Ngọc Duy
2012-10-10 13:59 ` [PATCH v2 1/2] quote: let caller reset buffer for quote_path_relative() Nguyễn Thái Ngọc Duy
2012-10-10 13:59 ` [PATCH v2 2/2] grep: stop looking at random places for .gitattributes Nguyễn Thái Ngọc Duy
2012-10-10 14:21 ` Johannes Sixt
2012-10-10 19:56 ` Junio C Hamano
2012-10-11 5:45 ` Johannes Sixt
2012-10-11 15:51 ` Junio C Hamano
2012-10-12 7:33 ` Johannes Sixt
2012-10-14 4:29 ` Junio C Hamano
2012-10-15 6:02 ` Johannes Sixt
2012-10-15 16:54 ` Junio C Hamano
2012-10-16 6:39 ` Johannes Sixt
2012-10-17 7:05 ` Johannes Sixt
2012-10-17 7:33 ` Junio C Hamano
2012-10-11 1:49 ` Nguyen Thai Ngoc Duy
2012-10-11 3:15 ` Junio C Hamano
2012-10-12 10:49 ` [PATCH v3] " Nguyễn Thái Ngọc Duy
2012-10-12 16:47 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121009120144.GA8780@do \
--to=pclouds@gmail.com \
--cc=git@vger.kernel.org \
--cc=j.sixt@viscovery.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.