The "commit" command:
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.