On Wed, May 25, 2011 at 2:35 PM, Tim Mazid <timmazid@xxxxxxxxxxx> wrote: > >> git log --all --not --grep A --grep B >> >> Would mean find all commits without A and with B, in SQL "SELECT * >> FROM COMMITS WHERE message NOT LIKE '%A%' AND message LIKE '%B%'". > > But how do you know which "--grep" the "--not" applies to? Does it have > to go directly before the "--grep" option? Exactly, just like the ! operator in C. > Can it be a few options before > as long is it's still before? No, only directly before the --grep, like the ! operator. > If you want to find commits not matching two > patterns, do you have to do "--not --grep A --not --grep B"? Yes, we can add a --negate-all option if you think it's usefull. > > I can see this as being a possible source of confusion; people doing > "--not grep A --grep B" and expecting it to mean NOT A AND NOT B. You can add another option --negate which negates everything. But this is a price to pay for being extra expressive. -- 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