ek9_git_log
Answers first: commitCount and commitTotal with a truncation note, then commits (sha, author, date, subject, body, parents; files with includeFileList:true).
When to use it
'What commits touched this file, since when, by whom?' - one call; path, author, since/until, from/to and maxResults are all optional. Pass allBranches:true to log every ref in topological order for a graph view.
When not to use it
- who wrote a particular line - use
ek9_git_blame. - the content of a change - use
ek9_git_diffwith ref:'<sha>'. - the current working-tree state - use
ek9_git_status.
Details
A cut result opens with truncated:true and a truncationNote naming the call that restores it; then status, summary, branch (null with allBranches:true), commitCount (commitTotal only when truncated), filtersApplied echoing every filter sent, and commits[] as {sha, author, email, date, subject, body, parents} with 8-hex shas, plus files[] when includeFileList:true. from/to must be paired and AND-compose with since/until. verbosity:'summary' drops body and files from each commit.
Arguments
| Argument | Type | Required | What it is |
|---|---|---|---|
allBranches | boolean | Log every ref in topological order (the full DAG) instead of one branch. Default false. | |
author | string | Author name or email substring. | |
branch | string | Branch or ref to log from. Default: the current HEAD. | |
from | string | Range start ref (pair with to). | |
includeFileList | boolean | Attach files[] to each commit. Default false. | |
maxResults | integer | Most commits to return. Default 50, limit 1000. | |
path | string | Workspace-relative file or directory - only commits touching it. | |
since | string | Commits on or after - a date (2026-09-01) or git's relative form ('2 weeks ago'). | |
to | string | Range end ref (pair with from). | |
until | string | Commits on or before - a date (2026-09-01) or git's relative form ('yesterday'). |
It also takes the arguments every tool takes.