git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] grep: --full-tree
Date: Wed, 25 Nov 2009 16:49:49 -0500	[thread overview]
Message-ID: <20091125214949.GA31473@coredump.intra.peff.net> (raw)
In-Reply-To: <7vmy2as319.fsf@alter.siamese.dyndns.org>

On Wed, Nov 25, 2009 at 01:33:22PM -0800, Junio C Hamano wrote:

> We could redefine get_pathspec() to treat a pathspec that begins with a
> slash to be anchored at the top, i.e.
> 
> 	$ git grep -e frotz /
> 
> would be a nicer way to spell
> 
> 	$ git grep --full-tree -e frotz

I do like that idea (and I cannot see any obvious flaw in it, though I
have only been think for a few minutes). I am not sure how useful it
will be for other commands. Conceptually I might use it for "diff" and
"status" (the new version that uses pathspecs sanely :) ), but those
commands generally aren't a big deal. I haven't touched anything in the
uninteresting subtree, so there is nothing to report.

Hmm. Actually, after having considered that, don't we actually allow
absolute paths in diff to do out-of-tree diffs? I haven't looked at how
that code interacts with get_pathspec.

> > Certainly I think that would be an improvement. But again, it suffers
> > from the "you must remember to do this" as above. I really want "git
> > grep" to Do What I Mean.
> 
> And /this-is-absolute is one way to tell "grep" What You Mean.  I do not
> claim it would be the _best_ way (I just concocted it up a few minutes ago
> without giving it deep thought).  Do you have a better alternative in
> mind?

Well, what I meant is that I shouldn't have to tell it each time what I
mean. I should be able to set up configuration so that it does what I
want (well, ideally, it would just read my mind, but I am willing to
concede that point). That is, I don't want to have to remember "git grep
--full-tree" or "git grep /" every time, because I am not likely to
notice when I forget. I want to set up "when I am in this directory,
this is probably what I want".

> My earlier "push is excusable" was primarily because "push" tends to be
> the _final_ action in the chain of events, as opposed to "ls-files" and
> "grep" output that are meant to be used by the user to _decide_ what to
> do next depending on what they find, and as such, the latter has more
> problem if they changed behaviour based on the configuration.

I'm not sure I really understand. "git grep" is routinely producing
wrong results for me _now_. I'd like to configure it so that it produces
results more sensible to me. If I am the one who sets the configuration
variable to something more sensible for my workflow, who am I hurting?

-Peff

  reply	other threads:[~2009-11-25 21:49 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-24  8:56 [PATCH] grep: --full-tree Junio C Hamano
2009-11-25 13:16 ` Michael J Gruber
2009-11-25 19:32   ` Junio C Hamano
2009-11-25 14:56 ` Sverre Rabbelier
2009-11-25 19:32   ` Junio C Hamano
2009-11-25 20:19     ` Sverre Rabbelier
2009-11-25 20:23       ` Junio C Hamano
2009-11-25 20:46         ` Sverre Rabbelier
2009-11-25 23:31           ` Johannes Schindelin
2009-11-25 23:29             ` Sverre Rabbelier
2009-11-25 20:52     ` Jeff King
2009-11-25 20:39 ` Jeff King
2009-11-25 20:52   ` Junio C Hamano
2009-11-25 21:00     ` Jeff King
2009-11-25 21:33       ` Junio C Hamano
2009-11-25 21:49         ` Jeff King [this message]
2009-11-25 22:12           ` James Pickens
2009-11-25 22:20             ` Jeff King
2009-11-26 17:56               ` James Pickens
2009-11-27  6:20                 ` Jeff King
2009-11-27  8:18                   ` Junio C Hamano
2009-11-27  9:31                   ` Johannes Schindelin
2009-11-27  9:59                     ` Jeff King
2009-11-27 10:53                       ` Johannes Schindelin
2009-11-27 16:27                         ` Uri Okrent
2009-11-27 18:29                           ` Junio C Hamano
2009-11-27 18:47                             ` Uri Okrent
2009-11-27 20:53                               ` Jeff King
2009-11-29 19:50                                 ` Uri Okrent
2009-11-29 11:48                             ` Felipe Contreras
2009-11-27 18:02                         ` Jeff King
2009-11-27 20:07                           ` Johannes Schindelin
2009-11-27 21:05                             ` Jeff King
2009-11-29 10:28                               ` Johannes Schindelin
2009-11-29 18:32                                 ` Jeff King
2009-11-29 19:49                                   ` Junio C Hamano
2009-11-29 12:13                             ` Felipe Contreras
2009-11-27 18:29                       ` Junio C Hamano
2009-11-27 20:50                         ` Jeff King
2009-11-29 10:21                           ` Johannes Schindelin
2009-11-29 18:24                             ` Jeff King
2009-11-27 10:37                     ` Matthieu Moy
2009-11-27 10:56                       ` Johannes Schindelin
2009-11-25 22:26             ` Wincent Colaiuta
2009-11-26  0:00               ` Junio C Hamano
2009-11-26  0:16                 ` A Large Angry SCM
2009-11-26  0:20                   ` Junio C Hamano
2009-11-26  0:30                     ` A Large Angry SCM
2009-11-26  0:36                       ` Junio C Hamano
2009-11-26 18:14                 ` James Pickens
2009-11-25 22:19           ` Junio C Hamano
2009-11-25 22:26             ` Jeff King
2009-11-25 22:41               ` A Large Angry SCM
2009-11-25 22:53                 ` Jeff King
2009-11-25 23:07                   ` A Large Angry SCM
2009-11-25 23:22                     ` Jeff King
2009-11-29 11:38                       ` Felipe Contreras
2009-11-29 19:45                         ` Uri Okrent
2009-11-26  0:02               ` Junio C Hamano
2009-11-27  6:22                 ` Jeff King
2009-11-25 22:15         ` A Large Angry SCM
2009-11-25 22:21           ` Junio C Hamano
2009-11-25 22:31             ` A Large Angry SCM
2009-11-25 22:43               ` A Large Angry SCM
2009-11-25 23:34         ` Johannes Schindelin
2009-11-25 23:41           ` Junio C Hamano
2009-11-26  0:04             ` Johannes Schindelin
2009-11-26  0:13               ` 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=20091125214949.GA31473@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).