3.1 KiB
3.1 KiB
Viewing Operations in Jujutsu
This document covers how to browse and understand the operation log using read-only viewing commands.
Browsing Operation History
jj op log - View All Operations
Basic usage:
jj op log # Show recent operations
jj op log --limit 20 # Show last 20 operations
jj op log --no-graph # Show without graph visualization
What you'll see:
- Operation ID (12-character hash)
- Timestamp and duration
- Username and hostname
- Command that was executed
- High-level description of changes
Example output interpretation:
@ abc123def456 user@host 2025-01-05 14:23:45 -08:00
│ jj squash
│ squash commit xyz into abc
◉ 789ghi012jkl user@host 2025-01-05 14:20:12 -08:00
│ jj describe -m "Add feature"
│ describe commit xyz
Reading the log:
@marks the current operation (where you are now)- Most recent operations at top
- Each operation shows what command created it
- Graph shows operation relationships
Exploring What Changed
jj op show <op-id> - See Operation Details
Purpose: Understand exactly what a specific operation changed.
Usage:
jj op show abc123def456 # Show what operation did
jj op show @ # Show current operation
jj op show @- # Show previous operation
What you'll see:
- Operation metadata
- Which commits were modified
- What changed in each commit
- Bookmark movements
- Working copy changes
jj op diff - Compare Repository States
Purpose: See differences between two operations or current vs past.
Usage:
# Compare current state with past operation
jj op diff --from abc123 --to @
# Compare two past operations
jj op diff --from abc123 --to def456
# See what operations changed
jj op diff --op abc123
Use cases:
- Understanding what went wrong between two points
- Seeing cumulative effect of several operations
- Debugging complex history issues
Finding Operations
By Time (Recent Mistakes)
jj op log --limit 10 # Show last 10 operations
# Look for operation just before mistake
By Command (Specific Actions)
jj op log | grep "squash" # Find all squash operations
jj op log | grep "describe"# Find all describe operations
# Identify the problematic operation
By Description (What You Were Doing)
# Operation log shows what you ran
jj op log
# Look for descriptions like:
# "snapshot working copy" → Auto-snapshots
# "jj describe" → Commit descriptions
# "jj new" → Stack operations
# "jj squash" → Squash operations
Common Viewing Patterns
"What Did I Just Do?"
jj op log --limit 5 # Recent operations
jj op show @ # Current operation details
"What Changed in This Operation?"
jj op show abc123def456 # Show specific operation details
jj op diff --op abc123 # See the diff
"Compare Two Points in Time"
jj op log # Find two operations
jj op diff --from abc123 --to def456 # Compare them