Fossil

Help: commit
Login

Help: commit

The "commit" command:

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

Create a new check-in containing all of the changes in the current check-out. All changes are committed unless some subset of files is specified on the command line, in which case only the named files become part of the new check-in.

You will be prompted to enter a check-in comment unless the comment has been specified on the command-line using "-m" or "-M". The text editor used is determined by the "editor" setting, or by the "VISUAL" or "EDITOR" environment variables. Commit message text is interpreted as fossil-wiki format. Potentially misformatted check-in comment text is detected and reported unless the --no-verify-comment option is used.

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

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.

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 --tag option can be repeated to assign multiple tags to a check-in. For example: "... --tag release --tag version-1.2.3 ..."

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
--branch NEW-BRANCH-NAME
Check in to this new branch
--close
Close the branch being committed
--date-override DATETIME
Make DATETIME the time of the check-in. Useful when importing historical check-ins from another version control system.
--delta
Use a delta manifest in the commit process
--hash
Verify file status using hashing rather than relying on filesystem mtimes
--if-changes
Make this command a silent no-op if there are no changes
--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 the check-in comment
-M|--message-file FILE
Read the check-in comment from FILE
-n|--dry-run
Do not actually create a new check-in. Just show what would have happened. For debugging.
-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
--no-verify-comment
Do not validate the check-in comment
--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
Never sync the resulting check-in and make all descendants private too.
--proxy PROXY
Use PROXY as http proxy during sync operation
--tag TAG-NAME
Add TAG-NAME to the check-in. May be repeated.
--trace
Debug tracing
--user-override USER
Record USER as the login that created the new check-in, rather that the current user.

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