History

The History section is where you explore every commit ever recorded in the repository. It gives you a visual commit graph, a searchable list, per-commit details with the list of files touched, and a full diff viewer for any commit — plus a line-by-line blame view for any file.

Layout

Selecting History on the section navigation fills the right side of the panel with three stacked areas, from top to bottom:

  • Search bar: a thin row across the top with a text input and a Filter dropdown.
  • Commit graph: the main area. A scrollable DAG (directed acyclic graph) where every row is a commit, rendered next to its position in the branch topology.
  • Commit detail panel: appears at the bottom (up to 40% of the section height) as soon as you click a commit in the graph. Clicking the same commit again hides it. Before any commit is selected the bottom panel is not shown at all.

There is a fourth, on-demand layout — the commit diff view — that temporarily replaces the graph when you drill into a specific file inside a commit. It is covered in its own card below.

The Commit Graph

Each row of the graph is one commit and contains, from left to right:

  • The DAG column: a small graph rendered next to the commit showing its dot and the lines connecting it to its parents. Every branch occupies its own column and gets its own color; when branches diverge and merge, the lines cross lanes so you can follow the topology visually.
  • Short hash: the seven-character abbreviated commit hash in a monospaced font.
  • Ref badges: inline pills for any refs pointing at this commit — HEAD (your current position), local branch names, remote branch names, and tag names. Each ref type has its own badge color so you can tell them apart at a glance.
  • Subject: the first line of the commit message, truncated if it is too long to fit.
  • Author + time: on the right edge, the commit's author name and a compact relative time (12m, 3h, 2d, 1w).

Clicking a row selects the commit and opens the detail panel below. Clicking the selected row again deselects it and collapses the detail panel.

The graph loads 50 commits at a time. When there is more history available, a Load more… link appears below the last row. Each click extends the list with the next 50 commits, so long histories stay responsive instead of rendering thousands of rows at once.

Searching and Filtering

The search bar lets you narrow the graph to commits that match a query. Typing into the input filters the list as you type; clearing it restores the full view. A small Clear button appears inside the input while there is a query or an active filter, and removes both in one click.

The Filter button on the right opens a small dropdown with four scopes for the search:

  • All (default): searches across commit messages, author names, and touched file paths at the same time.
  • Message: restricts the search to commit subject and body text.
  • Author: restricts the search to the author name on each commit.
  • File path: restricts the search to commits that touched a file whose path matches the query. Handy for answering "which commit last changed this spec?".

Picking a specific field highlights the Filter button so you always know a non-default filter is active. The Filter button is dimmed when the filter is on the default All.

The Commit Detail Panel

When a commit is selected, a detail panel slides up at the bottom of the History section. Its height is capped at roughly 40% of the section so the graph above it stays usable. The panel contains:

  • Header: a commit icon followed by the full first line of the commit message. If the message has more lines, the body is shown right underneath the subject, preserving line breaks.
  • Meta row: author name and email (shown as "Name <[email protected]>"), the relative time of the commit, and a Copy button with the short hash. Clicking the button copies the full hash to the clipboard and briefly flashes "Copied!".
  • Files changed list: a small header "Files changed (N) — click to view diff" above a scrollable list of every file the commit touched, with its status letter on the left. Clicking any file opens the commit diff view for that file.

Hovering over the relative-time label reveals the full absolute timestamp in a tooltip, for when you need the exact date.

The Commit Diff View

Clicking a file in the detail panel replaces the graph area with a full commit diff view dedicated to that commit. It is the most focused way to review what a past commit actually did. The view contains:

  • Commit info bar: the short hash, the same ref badges you saw in the graph row, and the first line of the commit message. Two buttons on the right: Collapse (down chevron) returns to the normal graph + detail layout while keeping the commit selected, and Close (X) clears the selection and goes back to the plain graph.
  • Second row: author name, relative time, the message body if it has one, and a Copy hash button that copies the full hash to the clipboard.
  • File strip: a horizontal list of every file changed in this commit, with the currently viewed file highlighted. Clicking another file switches the diff viewer without leaving the commit.
  • Diff viewer: the same side-by-side / unified diff viewer used in the Changes section, including binary-file handling. It fills the rest of the available space.

The commit diff view is a drill-down layer, not a replacement for the graph. Collapsing or closing it returns you exactly where you were.

Blame View

For any tracked file, Tigrister can render a line-by-line blame view — the classic "who last changed this line, and when?" answer. Each line shows the author name, the short commit hash that last modified the line, a short relative time, the line number, and the line's content itself. Consecutive lines from the same commit share the same metadata column so the display stays readable on long files.

Blame is the right tool when you want to understand why a specific assertion, threshold, or step was written the way it was — it points you directly at the commit that introduced the line, which you can then open in the detail panel to read the full context.