Understanding Jujutsu Log and Visibility

Explain commit visibility in jj log using revset filters.

78|6|Updated May 19, 2017
One-click install
npx skills add https://github.com/edmundmiller/dotfiles --skill understanding-jujutsu-log-and-visibility
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Understanding Jujutsu Log and Visibility
Source: https://github.com/edmundmiller/dotfiles/tree/main/config/claude/plugins/jj/skills/jj-log-visibility
Command: npx skills add https://github.com/edmundmiller/dotfiles --skill understanding-jujutsu-log-and-visibility

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill clarifies how jj log shows a subset of commits, what elided revisions mean, and how to view or compare hidden vs visible history.

Core Features & Use Cases

  • Revset basics: Learn default visibility and how to reveal all commits with all().
  • Elided revisions: Understand and display connecting commits between visible points.
  • Git log analogs: Translate between git log and jj log views for better comprehension.

Quick Start

If you suspect a missing commit, try jj log -r 'all()' to verify visibility, then use connected(...) to reveal the full path.

Frequently Asked Questions about Understanding Jujutsu Log and Visibility

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why are commits missing from jj log output?

jj log shows only commits reachable from your current branch by default. Commits on abandoned branches, detached work, or prior revisions are hidden. Use jj log -r 'all()' to display the complete commit history and verify visibility across all branches and baselines.

What do elided revisions mean in jj log?

Elided revisions are connecting commits that jj log omits from the display to reduce noise. They bridge visible commits in your history. Use jj log -r 'connected(...)' to reveal the full path between commits and see every step in your ancestry.

How do I view all commits including hidden ones in jj log?

Run jj log -r 'all()' to override the default visibility filter and display every commit in your repository, including abandoned revisions and those on disconnected branches.

How does jj log differ from git log in showing history?

jj log applies visibility rules and elides connecting commits by default, while git log typically shows a linear or branched view. Translate between them by using revsets like all() in jj to match git log's comprehensive output for comparison and diagnosis.

How do I find hidden or abandoned commits in jj?

Use revset filters: jj log -r 'all()' lists every commit, and jj log -r 'connected(target_commit)' reveals the path to a specific commit. These expose commits outside your current branch visibility and help locate work across local and remote baselines.

What revset filters control commit visibility in jj log?

Key revsets include all() to show every commit, .. to reveal ancestors, and connected(...) to display commits linking two points. These filters bypass default visibility rules and let you diagnose which commits are visible and why.