git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: feature request: git add--interactive --patch on regex-matched hunks only
Date: Tue, 26 Jul 2011 00:09:04 -0600	[thread overview]
Message-ID: <20110726060903.GA29486@sigill.intra.peff.net> (raw)
In-Reply-To: <CACsJy8Ay1wPXAx61_rGymHDJ=YGywAy=9epiXRfJ9e68np8x6g@mail.gmail.com>

On Tue, Jul 26, 2011 at 12:57:46PM +0700, Nguyen Thai Ngoc Duy wrote:

> It's my itch. I'm more than happy if you take care of the Perl part,
> I'll do the rest. While you're doing the Perl part, should we have
> both --match and --no-match? One filters in. The other filters out. I
> guess people may find filter-in case more helpful than the other.

Yeah. Also, what about grep options like case-insensitivity? I don't
want to go too overboard with adding options that are unlikely to be
used. It is perl, so technically you can do "(?i:foo)" to match "foo"
case-insensitively. I don't think there's a way to do --no-match style
negation in the regex itself, though.

Speaking of which: the name "--match" is way too generic for "git add".
Something like "--hunk-match" would be better. It also is obviously only
useful with "--patch". Should it imply "--patch"? Should it actually be
"--patch=..."?

> I thought of this way initially, but I needed to split hunks in
> parse_diff and was stuck because I was not familiar with data
> structure used in git-add--interactive.

Oh yeah, you mentioned splitting before. I'm not sure how that would
interact with this feature. In some cases, you'd want to split as much
as possible, and in other cases, you'd want a bigger hunk. So I actually
think it is an orthogonal feature to "autosplit" hunks before we show
them to the user. I.e., something like:

  git add -p --autosplit-hunks --hunk-match=...

(where maybe the names could be better, but hopefully you get the
point).

-Peff

  reply	other threads:[~2011-07-26  6:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-24  5:11 feature request: git add--interactive --patch on regex-matched hunks only Nguyen Thai Ngoc Duy
2011-07-25 21:55 ` Jeff King
2011-07-25 23:44   ` Junio C Hamano
2011-07-26  5:03     ` Jeff King
2011-07-26  3:03   ` Nguyen Thai Ngoc Duy
2011-07-26  5:14     ` Jeff King
2011-07-26  5:57       ` Nguyen Thai Ngoc Duy
2011-07-26  6:09         ` Jeff King [this message]
2011-07-26 12:44           ` Nguyen Thai Ngoc Duy
2011-07-26 13:03             ` Nguyen Thai Ngoc Duy
2011-07-27  8:10               ` Jeff King
2011-07-27  9:02                 ` Nguyen Thai Ngoc Duy
2011-07-27 17:24                   ` Jeff King
2011-07-27  8:03             ` Jeff King
2011-07-27  8:05               ` [PATCH 1/5] add--interactive: refactor patch mode argument processing Jeff King
2011-07-27  8:05               ` [PATCH 2/5] add--interactive: factor out regex error handling Jeff King
2011-07-27  8:05               ` [PATCH 3/5] add--interactive: allow hunk filtering on command line Jeff King
2011-07-27  8:05               ` [PATCH 4/5] add--interactive: allow negatation of hunk filters Jeff King
2011-07-27  8:06               ` [PATCH 5/5] add--interactive: add option to autosplit hunks Jeff King

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=20110726060903.GA29486@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=pclouds@gmail.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).