Skip to main content

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 annotationsUnified 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 belowCommit view with the message at the top and per-file expandable diffs below