Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 CLI Documentation | 2026.1

# p4 submit (graph)

Commit open files to the repo.

## Syntax

    p4 submit [-i -c changelistNumber -d desc --allow-empty] [--parallel=threads=N[,batch=N][,min=N]]

Syntax and naming conventions

## Description

Commits a pending `changelistNumber` and its files to the repo, constructing a new commit and updating the current branch to refer to the new commit. By default, this command attempts to submit all files in the `default` changelist. Submit displays a dialog where you enter a description of the change and, optionally, delete files from the list of files to be checked in. To add files to a changelist before submitting, use any of the commands that open client workspace files such as p4 add or p4 edit.

## Options

Option | Description
--- | ---
`--allow-empty` | Permit submitting with no file changes.
`-c changelistNumber` | Submit the specified pending changelist instead of the default changelist. Additional changelists can be created manually, using the p4 change command, or automatically as the result of a failed attempt to submit the default changelist. The pending changelist is deleted during the submit process. The result of the submit is a new commit identified by its SHA-1.
`-d description` | Immediately submit the default changelist with the `description` supplied on the command line, and bypass the interactive form. This option is useful when scripting, but does not allow for the default changelist to be modified.
`-i` | Read a changelist specification from the standard input. The user's editor is not invoked.
`--parallel` | Specify options for parallel file transfer. The configurable `net.parallel.max` must be set to a value greater than `1` to enable the `--parallel` option. threads=`n` sends files concurrently using `n` independent network connections. The specified threads grab work in batches. batch=`n` specifies the number of files in a batch. min=`n` specifies the minimum number of files in a parallel sync. A sync that is too small will not initiate parallel file transfers. See Parallel syncs .

## Usage notes

Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required
--- | --- | ---
No | No | `write` protection on path to submit

## Examples

    p4 submit -d 'upgrade readme'

    Change 6797 renamed 296fcac8ce99769c3d1bb28a3321c491ec9c81fc and submitted on //gd1/repo1.

Your search for returned results