git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git log: invert --author and --committer

From
Junio C Hamano <gitster@pobox.com>
Date
May 23, 2016, 21:47 UTC
Message-ID
<xmqqshx878gx.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAP=KgsSNgKY5gR3uSSMZdOxZ1687YRnQRQFsV22UwCXqmdfB9g@mail.gmail.com>
Per Cederqvist <cederp@opera.com> writes:
Show 18 quoted lines
> I think it does make sense to document this with the --author/--committer
> options.
>
> That wording would however make me assume that --all-match could also
> be used, so that
>
>     git log --all-match --author ceder --author cibot
>
> would list nothing (since there are no authors that match both
> "ceder" and "cibot" in this codebase).  That isn't the fact, though.
> It seems to list all commits that have either ceder or cibot as author,
> just as if I had not used --all-match.
>
> As a reader of the man-page, I would prefer to have the exact list
> of options in the documentation.  (I realize that it will make it harder
> to maintain.)
>
>     /ceder
Ok, take 2.

This makes `--all-match` the only one that explicitly mentions that the option applies to patterns given with the `--grep` option; from an end-user's point of view, --author/--committer is not given via the `--grep` option, so it may help to alleviate the above issue.

All others use "limiting patterns" consistently, so that eyeballing for the phrase would catch things like "--invert-grep", "-E", etc. and it would be easier to keep future additions to conform to the convention, hopefully.

 Documentation/rev-list-options.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 4f009d4..51ead72 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -44,6 +44,10 @@ endif::git-rev-list[]
 	expression).  With more than one `--author=<pattern>`,
 	commits whose author matches any of the given patterns are
 	chosen (similarly for multiple `--committer=<pattern>`).
++
+Options that affect how a limiting pattern matches (listed below,
+such as `-i`, `-E`, `--invert-grep`) can also be used to affect
+these options.
 
 --grep-reflog=<pattern>::
 	Limit the commits output to ones with reflog entries that
@@ -70,7 +74,7 @@ endif::git-rev-list[]
 
 --invert-grep::
 	Limit the commits output to ones with log message that do not
-	match the pattern specified with `--grep=<pattern>`.
+	match the regular expression limiting patterns.
 
 -i::
 --regexp-ignore-case::
Previous: Junio C Hamano
Message 6 of 6 in “git log: invert --author and --committer”
  1. Per CederqvistMay 23, 2016
  2. Junio C HamanoMay 23, 2016
  3. Junio C HamanoMay 23, 2016
  4. Per CederqvistMay 23, 2016
  5. Junio C HamanoMay 23, 2016
  6. Junio C HamanoMay 23, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.