Commit and diff search
Besides code, Grove searches the history of your repositories: commit messages
with type:commit, and the lines commits added or removed with
type:diff.
Commit messages: type:commit
type:commit repo:spf13/cobra completion
Finds commits whose message contains the terms. Each result shows the subject, the start of the message body, the author and the date; click the hash to open the commit and its diff.


Filters for commit search:
| Filter | Meaning |
|---|---|
repo: |
only commits of matching repositories |
author:name |
commits by an author whose name or email matches |
-author:name |
leave out commits by that author, e.g. -author:bot |
Several author: filters must all match. Results load as you scroll instead of using count:.
Changed lines: type:diff
type:diff repo:api file:internal/ openConnection
Finds commits whose diff added or removed a line matching the query, like git log -G. Use it to find when a call was introduced, when a configuration key disappeared, or who last touched a pattern. Each result lists the files whose diff matched.


Diff search runs git on Grove’s mirrors rather than querying an index, so it is slower and has some rules:
- A
repo:filter is required and may match at most 10 repositories. - It stops at the search time limit (40 seconds by default) and shows the commits found so far, marked incomplete.
- It covers the indexed branch, the same commits as
type:commit. - Matching ignores case. In Regex mode the pattern is a POSIX extended regular expression: write
[0-9]instead of\d. file:takes git pathspecs such asfile:src/orfile:*.go.author:and-author:work as for commit search.
Commit and diff search need the git binary on the server, which the container image includes.