Code workflows
Diffs and Commits
Spruce's diff view shows what changed at any of several scopes: the working tree (uncommitted edits), a single commit, the entire branch's commits, or the branch versus its tracking ref (origin/main). The artifact-scope Git tab's View changes rows expose the four common selections directly:
- Uncommitted: your unstaged + staged edits in the worktree.
- Branch commits: every commit on the artifact branch since it diverged from base.
- All changes: branch commits + uncommitted, combined.
- (Implicit) Versus
origin/main: comparing the branch's tip to the configured base's tracking ref.
Diffs are syntax-highlighted and line numbers stay aligned across the diff.
Opening a diff
Several ways to open a diff:
- From a commit in the Activity page (or the artifact-scope Activity tab): click the commit, then click any file.
- From a pending change in the Activity page: click a file under the uncommitted group.
- From the tool panel's Git tab: View changes → Uncommitted / Branch commits / All changes.
Unified diff view with syntax highlighting and per-line annotations
The commit view
Click any commit (on the Activity page, a file's blame gutter, the tool panel's Git tab, or a linked reference) to open its detail view:
- Full commit message (title and body).
- Author, committer, and timestamps.
- Every file changed, with line-count badges.
- Expandable inline diffs per file.
From the commit view you can open any file at that commit's revision, re-blame, or leave a Comment at a specific line.
Commit view with the message at the top and per-file expandable diffs below
Related
- Blame and File History — per-line authorship.
- The Activity page — where you discover commits and pending changes.
- The tool panel — the per-artifact Git tab with branch commits inline.
- Comments — line-anchored review comments.

