Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> writes: > Junio C Hamano venit, vidit, dixit 14.09.2012 01:26: > ... >> when "--all-match" was given from the command line, so that the >> "committer", "author" and elements on the top-level backbone in >> "pattern" form the top-level backbone of the resulting expression to >> be inspected by the "all-match" logic. >> >> Does this pass the expect-failure test in your [PATCH 5/6]? > > Just a quick heads up: > > I merged 38ed8ef (log --grep/--author: honor --all-match honored for > multiple --grep patterns, 2012-09-13) from pu into my test branch, > and this fixes what I had marked as known failure there. Thanks! Thanks for testing. > > I still have to figure out the logic, but begin to understand that > "(OR...) and "(AND...)" are linewise, and all-match is a bufferwise AND Yes, all-match is about requiring all the top-level nodes to have fired while inspecting the whole file. So between these: $ git grep -e foo --and -e bar $ git grep --all-match -e foo -e bar the former shows lines that has both foo and bar, while the latter shows lines that has either foo or bar but only from files that has both in them (on possibly separate lines). > Now, what is "*or*" ... That is for to show the token we received from the command line parser; the more interesting part is the parsed expression tree, that is mostly formed as a tree with each node labeled with what kind of operation it represents. -- 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