Help: commit

Login

The "commit" command:

Usage: fossil commit ?OPTIONS? ?FILE...?
or: fossil ci ?OPTIONS? ?FILE...?

Create a new version containing all of the changes in the current check-out. You will be prompted to enter a check-in comment unless the comment has been specified on the command-line using "-m" or a file containing the comment using -M. The editor defined in the "editor" fossil option (see fossil help set) will be used, or from the "VISUAL" or "EDITOR" environment variables (in that order) if no editor is set.

All files that have changed will be committed unless some subset of files is specified on the command line.

The --branch option followed by a branch name causes the new check-in to be placed in a newly-created branch with the name passed to the --branch option.

Use the --branchcolor option followed by a color name (ex: '#ffc0c0') to specify the background color of entries in the new branch when shown in the web timeline interface. The use of the --branchcolor option is not recommended. Instead, let Fossil choose the branch color automatically.

The --bgcolor option works like --branchcolor but only sets the background color for a single check-in. Subsequent check-ins revert to the default color.

A check-in is not permitted to fork unless the --allow-fork option appears. An empty check-in (i.e. with nothing changed) is not allowed unless the --allow-empty option appears. A check-in may not be older than its ancestor unless the --allow-older option appears. If any files in the check-in appear to contain unresolved merge conflicts, the check-in will not be allowed unless the --allow-conflict option is present. In addition, the entire check-in process may be aborted if a file contains content that appears to be binary, Unicode text, or text with CR/LF line endings unless the interactive user chooses to proceed. If there is no interactive user or these warnings should be skipped for some other reason, the --no-warnings option may be used. A check-in is not allowed against a closed leaf.

If a commit message is blank, you will be prompted: ("continue (y/N)?") to confirm you really want to commit with a blank commit message. The default value is "N", do not commit.

The --private option creates a private check-in that is never synced. Children of private check-ins are automatically private.

The --tag option applies the symbolic tag name to the check-in.

The --hash option detects edited files by computing each file's artifact hash rather than just checking for changes to its size or mtime.

Options:

--allow-conflict
Allow unresolved merge conflicts
--allow-empty
Allow a commit with no changes
--allow-fork
Allow the commit to fork
--allow-older
Allow a commit older than its ancestor
--baseline
Use a baseline manifest in the commit process
--bgcolor COLOR
Apply COLOR to this one check-in only
--branch NEW-BRANCH-NAME
Check in to this new branch
--branchcolor COLOR
Apply given COLOR to the branch
--close
Close the branch being committed
--date-override DATETIME
DATE to use instead of 'now'
--delta
Use a delta manifest in the commit process
--hash
Verify file status using hashing rather than relying on file mtimes
--ignore-clock-skew
If a clock skew is detected, ignore it and behave as if the user had entered 'yes' to the question of whether to proceed despite the skew.
--ignore-oversize
Do not warn the user about oversized files
--integrate
Close all merged-in branches
-m|--comment COMMENT-TEXT
Use COMMENT-TEXT as commit comment
-M|--message-file FILE
Read the commit comment from given file
--mimetype MIMETYPE
Mimetype of check-in comment
-n|--dry-run
If given, display instead of run actions
-v|--verbose
Show a diff in the commit message prompt
--no-prompt
This option disables prompting the user for input and assumes an answer of 'No' for every question.
--no-warnings
Omit all warnings about file contents
--no-verify
Do not run before-commit hooks
--nosign
Do not attempt to sign this commit with gpg
--nosync
Do not auto-sync prior to committing
--override-lock
Allow a check-in even though parent is locked
--private
Do not sync changes and their descendants
--tag TAG-NAME
Assign given tag TAG-NAME to the check-in
--trace
Debug tracing
--user-override USER
USER to use instead of the current default

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in year-month-day form, it may be truncated, the "T" may be replaced by a space, and it may also name a timezone offset from UTC as "-HH:MM" (westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z" means UTC.

See also: branch, changes, update, extras, sync