#9377·jj

FR: add `--allow-immutable` as a synonym for `--ignore-immutable`

Author: NahorCreated Apr 25, 2026Updated Sep 17, 2026
Labelspolish🪒🐃

--ignore-immutable does the opposite of what it says. ... Well, strictly speaking I assume it means something like "ignore immutable flag/status of the commit", in which case it is correct. But the option doesn't says what is immutable. And when using jj, a changeset/revision is the target of an operation, not its flags/status, so it make more sense to think of the option as meaning "ignore immutable changeset/revision", which is the opposite of what one wants.

Case in point, jj's own help says "Allow rewriting immutable commit" as the main description of the option, which makes me think this is not just a "me" issue, and thus this FR.

In practice, this creates a mental dissonance. For me, this result in having to pause and think every time I use the option, and more often that not, having to correct what I already started to type, which is really annoying.

So I suggested replacing --ignore-immutable with --allow-immutable. Ideally, --ignore-immutable would be deprecated, to avoid adding more confusion by having two options with seemingly opposite meanings do the same thing. Potentially, this could translate into only mentioning --ignore-immutable inside the help, something like:

--allow-immutable
    Allow rewriting immutable commits
    [...]
    `--ignore-immutable` is an alias for this option, supported for historical reasons