* Johannes Schindelin <Johannes.Schindelin@xxxxxx> [070920 06:34]: > On Wed, 19 Sep 2007, Bart Trojanowski wrote: > > git log --invert-match --grep="uninteresting" > > IMHO this is only half a solution. Some of us want to say "git log > --grep=this --but-not-(in-the-whole-message) --grep=that". I have noticed that unique negation flags are getting scarce... we already have --reverse, --inverse, and --not mean something elsewhere. --but-not maybe be good. I also agree that git-grep could use this extension. Anyways, I can see four solutions for adding "show me this but not that" functionality to git-rev-list: 1) adding a --but-not flag, as you suggested. It separates positive matches that precede it with negative matches that follow. Example: git log --grep=this --but-not --grep=that --committer="${MY_EMAIL}" 2) Adding --not-grep, --not-author, --not-committer which add negative matches. Maybe even --grep!=PATTERN, --author!=PATTERN, ... Example: git log --grep=this --not-grep=that --committer!="${MY_EMAIL}" 3) Extending the PATTERN we accept in --grep, --author, and --committer, such that a prefix in the pattern tells us how to use the match: --grep=!PATTERN Example: git log --grep=this --grep='!that' --committer="!${MY_EMAIL}" 4) (going on a limb here) Can this kind of match be done with perl regular expressions? Maybe we could use --perl-regexp Example: I've got nothing :) Personally I am currently in favour of 2. It seems intuitive, and unlike option 3, the '!' cannot clash with the pattern. Although 3 has the bonus of allowing other flags like extended regexp, perl regexp, case insensitive, negation, etc. Comments? -Bart -- WebSig: http://www.jukie.net/~bart/sig/ - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html