commit

vb commit|ci [OPTIONS] [FILE ...]

Description

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”editor” setting, or by the VISUAL or EDITOR environment variables. Commit message text is interpreted as vb-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

--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

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

--editor NAME

Text editor to use for check-in comment.

--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

-a, --addremove

Run addremove before committing

--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.

-L, --license LICENSENAME

Add the check-in of this submission to the specified license

See Also

Examples

  • Init and open a repository

$ vb init commit_repo.vbyte
project-id: 026a11e470450cbe0442d08a0876cccd69aa1906
server-id:  903921a689eb37b284115d46a97fc33614f0d4c1
admin-user: ubuntu (initial remote-access password is "eTkRNFhX7D")
$ vb open -f commit_repo.vbyte
project-name: <unnamed>
repository:   /tmp/sphinx_tests/1429e932/commit_repo/commit_repo.vbyte
local-root:   /tmp/sphinx_tests/1429e932/commit_repo/
config-db:    /tmp/sphinx_tests/1429e932/.visionbyte
project-code: 026a11e470450cbe0442d08a0876cccd69aa1906
checkout:     b76145728b9bafe3a6577643ec76922322688c34 2026-03-20 03:02:58 UTC
tags:         trunk
comment:      initial empty check-in (user: ubuntu)
check-ins:    1
  • Add and commit an initial file

$ vb sys echo "Hello VisionByte" > README.md
$ vb add README.md
ADDED  README.md
$ vb commit -m "Initial commit"
Committed version: 24bf1d4f75ccfd086211762fa9e257fc0f98ff67756f34beee8ecd46af5560c8
  • Make a commit with no changes

$ vb commit -m "No changes commit" --allow-empty
Committed version: 51dffbba36fa9f30b2ef68a51fcc8a491dcd1cff849bb039112fe0ae5ce9d08e
  • Commit the changes to a new branch

$ vb sys echo "This is changes for feature/x branch" > README.md
$ vb commit -m "Commit to new branch" --branch feature/x
Committed version: 191a348cc4ee207ec21bbdb541ba9eae7c2e9ba4c060b3aaf53aaac477061a7d
  • Show the commit history by timeline command

$ vb timeline -type ci --verbose
=== 2026-03-20 ===
03:02:58 [191a348cc4] *CURRENT* Commit to new branch (user: ubuntu tags: feature/x)
   EDITED README.md
03:02:58 [51dffbba36] No changes commit (user: ubuntu tags: trunk)
03:02:58 [24bf1d4f75] Initial commit (user: ubuntu tags: trunk)
   ADDED README.md
03:02:58 [b76145728b] initial empty check-in (user: ubuntu tags: trunk)
+++ no more data (4) +++