hg commit#

commit the specified files or all outstanding changes#

Commit changes to the given files into the repository. Unlike a centralized SCM, this operation is a local operation. See `hg push` for a way to actively distribute your changes.

If a list of files is omitted, all changes reported by `hg status` will be committed.

If you are committing the result of a merge, do not provide any filenames or -I/-X filters.

If no commit message is specified, Mercurial starts your configured editor where you can enter a message. In case your commit fails, you will find a backup of your message in .hg/last-message.txt.

The –close-branch flag can be used to mark the current branch head closed. When all heads of a branch are closed, the branch will be considered closed and no longer listed.

The –amend flag can be used to amend the parent of the working directory with a new commit that contains the changes in the parent in addition to those currently reported by `hg status`, if there are any. The old commit is stored in a backup bundle in .hg/strip-backup (see `hg help bundle` and `hg help unbundle` on how to restore it).

Message, user and date are taken from the amended commit unless specified. When a message isn’t specified on the command line, the editor will open with the message of the amended commit.

It is not possible to amend public changesets (see `hg help phases`) or changesets that have children.

See `hg help dates` for a list of formats valid for -d/–date.

Returns 0 on success, 1 if nothing changed.

Examples:

  • commit all files ending in .py:

    hg commit --include "set:**.py"
    
  • commit all non-binary files:

    hg commit --exclude "set:binary()"
    
  • amend the current commit and set the date to now:

    hg commit --amend --date now