jj-describe
Modify revision description
TLDR
Update the description of the current change
Update the description of given revsets
Update the description to the given message
SYNOPSIS
jj describe [OPTIONS] [REV]
PARAMETERS
--revision, -r <REV>
Specifies the commit to describe. If omitted, the command defaults to operating on the current working-copy commit.
--message, -m <MESSAGE>
Provides the commit message directly on the command line. If this option is used, the configured editor will not be opened unless --interactive is also specified.
--from-file, -F <FILE>
Reads the commit message from a specified file. Similar to --message, it bypasses opening the editor unless --interactive is used.
--interactive, -i, --edit, -e
Forces the command to open the editor, even if a commit message has been provided via the --message or --from-file options. This is useful for reviewing or making minor edits to a pre-supplied message.
--print, -p
Prints the new commit description to standard output after it has been successfully applied.
--tool <TOOL>
Specifies a particular editor tool to use for modifying the commit message. This option overrides any editor configured in jj's settings or system defaults.
--reset-author
Resets the author of the commit to the current user's identity and the current timestamp, overwriting the original author information of the commit.
DESCRIPTION
jj describe is a fundamental command within the
Jujutsu (jj) version control system. Its primary purpose
is to modify the commit message (description) and, optionally,
the author information of a specific commit.
By default, when invoked without a target revision, it operates
on the current working copy commit. When no message is provided
via command-line options (-m or -F), jj describe opens
an editor (configured via jj settings or system defaults).
This editor is pre-populated with the existing commit message,
allowing users to refine, correct, or expand upon the commit's
context.
This command is crucial for maintaining a clear and accurate
commit history, fixing typos in past messages, or adding
more detailed explanations. It aligns perfectly with Jujutsu's
design philosophy of easily mutable local history, making
commit message amendments a simple and integrated part of
the development workflow.
CAVEATS
While jj simplifies rewriting history, altering a commit that has already been published and built upon by collaborators can still lead to conflicts for others if not properly coordinated.
The command relies on a correctly configured editor. If no editor is found or specified, the command may fail when interaction is required.
EDITOR BEHAVIOR
When jj describe opens an editor, it typically populates it
with the commit's current message. Users can then modify,
add to, or replace the content. Lines starting with '#'
within the editor are treated as comments and are ignored
when the final commit message is saved.
DEFAULT TARGET COMMIT
By default, if no revision is specified, jj describe operates
on the working copy commit. This allows for quick iteration
and refinement of the most recent changes made by the user.
HISTORY
The jj describe command is an integral component of the
Jujutsu (jj) version control system. Jujutsu was conceived to
provide a more intuitive and powerful approach to version control
compared to traditional systems like Git. It emphasizes local,
mutable history, making operations such as rewriting commit
messages, which jj describe primarily facilitates, straightforward
and atomic. Designed to streamline common version control
workflows, jj describe plays a crucial role in enabling users to
easily refine and organize their commit history.
SEE ALSO
jj commit(1), jj new(1), jj rebase(1), jj log(1)