LinuxCommandLibrary

jj-show

Show commit content

TLDR

Show commit description and changes in a revision

$ jj show [revset]
copy

Show a summary of changes in a revision
$ jj show [[-s|--summary]] [revset]
copy

Show a histogram of changes in a revision
$ jj show --stat [revset]
copy

SYNOPSIS

jj show [OPTIONS] [<REVISION>]

PARAMETERS

-r, --revision <REVSET>
    Revision to show (defaults to working copy; alias for positional argument)

--summary
    Show concise summary of changes

--stat
    Show statistics on lines added/removed

--patch
    Show full unified diff patch

--git
    Use Git-compatible output format

--no-graph
    Omit ASCII commit graph

--format <FORMAT>
    Output format (auto, changes, compact, git, json, machine, oneline, short, tree)

--template <TEMPLATE>
    Custom template for output

--print-revset
    Print the evaluated revset

--diff-id-shorten
    Shorten change IDs in diffs

--show-certificate
    Show signing certificate if present

--repository <PATH>
    Repository to operate on

--color <WHEN>
    When to use color (always, auto, never)

--pager <WHEN>
    When to use pager (auto, never)

--config <TOML>
    TOML config file overrides

-h, --help
    Show help message

DESCRIPTION

jj show is a subcommand of the Jujutsu (jj) version control system, a Git-compatible tool designed for high performance and excellent usability. It displays the contents or changes of a specified revision, defaulting to the working copy ('@').

By default, it provides a human-readable summary of changes relative to the revision's parents, highlighting added, removed, or modified lines. This makes it ideal for quick inspections without overwhelming output.

Key features include multiple output formats: --summary for concise overviews, --stat for change statistics, and --patch for full unified diffs. The --git flag emulates Git's output style, aiding migration. Revsets allow flexible revision selection, like main, root(), or commit IDs.

Jujutsu's commit-graph model enables efficient operations, and jj show integrates seamlessly, supporting templates for custom formatting and JSON for scripting. It automatically uses a pager for long outputs and respects color schemes.

Primarily used for reviewing commits during development, debugging, or CI/CD pipelines, it outperforms traditional tools on large repos due to jj's revset evaluation and lazy loading.

CAVEATS

Requires jj installation (not standard Linux); revsets must be valid; large repos may need --pager never for scripting.

EXAMPLES

jj show main
jj show --patch @- (last commit diff)
jj show --summary --stat root():main (range summary)

REVSETS

Use powerful revsets: @ (working copy), main, children(main), commit IDs, or functions like draft().

HISTORY

Jujutsu (jj) developed by Martin von Zweigbergk (Google) since 2022, inspired by Mercurial and Sapling. jj show introduced early for core inspection; evolved with revset support and format options in v0.1+ releases.

SEE ALSO

jj log(1), jj diff(1), git-show(1), hg log(1)

Copied to clipboard