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

Examples

  • Init and open a repository

$ vb init commit_repo.vbyte
project-id: 34f7c2359babe3ce4bd5075f366e3e41b159f631
server-id:  ba2b008dda946e4ffb580a706a8cbfe2b2fcf56f
admin-user: ubuntu (initial remote-access password is "whPo62jt9Z")
$ 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: 34f7c2359babe3ce4bd5075f366e3e41b159f631
checkout:     aaba438de127440124d366a5717599ac82dda81c 2026-03-31 13:00:11 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: 20bccd7e92b61dbd8d9692ecee42c33e6d93f4ea41e514a853e4b83e44a209c8
  • Make a commit with no changes

$ vb commit -m "No changes commit" --allow-empty
Committed version: fc2ed103f977c6f320c61fa7eeee23bcf3d8bda73967dfea22e11c9e1f1d27bf
  • 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: 3b0ad03e2518b92f320fe035fb4b1f33d879c73e23e51190d93cdbffb47a68b7
  • Show the commit history by timeline command

$ vb timeline -type ci --verbose
=== 2026-03-31 ===
13:00:11 [3b0ad03e25] *CURRENT* Commit to new branch (user: ubuntu tags: feature/x)
   EDITED README.md
13:00:11 [fc2ed103f9] No changes commit (user: ubuntu tags: trunk)
13:00:11 [20bccd7e92] Initial commit (user: ubuntu tags: trunk)
   ADDED README.md
13:00:11 [aaba438de1] initial empty check-in (user: ubuntu tags: trunk)
+++ no more data (4) +++

See Also