Skip to content

FR: jj status should support -r flag #9911

Description

@zygoloid

Is your feature request related to a problem? Please describe.
I wanted a quick and succinct list of the files edited in a particular jj revision. So I ran jj status -r xy, thinking that should obviously work because the working copy isn't special in jj. But it didn't -- jj status has no flag to specify the revision.

Describe the solution you'd like
jj status -r $REV should work, and should give ~the same output as jj edit $REV; jj status; jj undo, but without the disk churn.

I'd change the heading from "Working copy changes:" to something like "Revision $REV changes:" and change the footer from

Working copy  (@) now at: abc...
Parent commit (@-)      : def...

to something like

Selected revision: abc...
Parent commit    : def...

but otherwise keep the output the same.

Describe alternatives you've considered

jj show --name-only
Probably the best alternative. But: uses different formatting, lacks the added / modified / deleted marker and color coding (maybe these can be addressed with a template). And mostly: requires learning a second command to do the same thing.

jj edit $REV; jj status; jj undo

But this is slow, churns the disk, and feels like the kind of thing that you should never have to do when using jj.

jj edit $REV --no-integrate-operation
jj status --at-operation $OPERATION

Does what I want, other than misleading output talking about @ and the need to manually copy-paste the operation ID from one command to the other (or to parse output that does not look like it was intended to be machine-readable).

Metadata

Metadata

Assignees

No one assigned

    Labels

    polish🪒🐃Make existing features more convenient and more consistent

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions