p4 resubmit

Resolve and resubmit some or all unsubmitted changes.


For distributed version control only:


p4 [g-opts] resubmit -l
p4 [g-opts] [-R] resubmit -m
p4 [g-opts] [-R] resubmit -e
p4 [g-opts] [-R] resubmit -i [[-r remote] filespec ...]

Syntax conventions


The p4 resubmit command resubmits changes that have been unsubmitted. Use this command to revise a set of changelists that you have:

  • submitted locally
  • not pushed to any other server
  • have unsubmitted

This command has three modes:



Syncs your workspace to #head and processes each conflicting change. For details, see -m under Options.

partially interactive



Prepares the first (oldest) conflicting change, then exits. The files for the change are open in your workspace.

  1. Resolve or make any other necessary changes to the workspace files
  2. Run p4 resubmit -R -e
  3. This prepares the next conflicting change.
fully interactive -i

If a file path is also specified, this option unsubmits each change that modified a file in that path.

If the -r flag is also specified, it names a remote spec.

The mapping in the remote spec limits the files affected by the unsubmit operation.

Thus a command such as p4 resubmit -r rmt @>=17 affects only the files specified by the remote spec.

resubmit -i then processes each conflicting change.



Runs p4 resubmit in partially-interactive mode, allowing you to inspect each change prior to submitting it.


Runs p4 resubmit as a fully interactive resubmission tool. You can reorder, combine, or discard changes.

For each change, resubmit displays summary information about the change and prompts you to indicate which action to take:

c Modify the change description for this change.
m Merge this change, then submit if no conflicts.

Merge this change, then exit for further editing. After choosing either e or q you can continue interactive resubmit by running resubmit -R -i


Interactively resolve this change, then submit if no conflicts.


Add (squash) this change into the next conflicting change.

s Skip this change and move on to the next.
d Delete this change without submitting it.
b Begin again from the earliest remaining change.
l List the changes remaining to be processed.
v View the current change in short form.
V View the current change with full diffs.
R Display the status of resolved and unresolved merges.

Quit the resubmit operation. After choosing either e or q you can continue interactive resubmit by running resubmit -R -i

? Display (short) help during the resubmit command.


Lists all the unsubmitted changes but takes no action. This is useful as a way to preview the work that must be resubmitted.


p4 resubmit -m runs in automatic mode:

  1. Syncs your workspace to #head.
  2. Processes each unsubmitted change:
  3. If the change is a tangent of unsubmitted work in the tangent depot
    created by p4 fetch -t
    integrate tangent/[email protected]=change dest/...
    resolve -am
    If the change is a shelf of unsubmitted work
    created by p4 unsubmit
    unshelve -s change -c change
    resolve -am

If, for any change in the list, the p4 resolve -am processing detects merge conflicts in any file in that change, the p4 resubmit command terminates. All the files in that change which had merge conflicts are left unresolved until you do the following:

  1. Run the p4 resolve command to resolve the conflicts.
  2. Re-run p4 resubmit -Rm to resume the resubmit process (the first thing it does is submit the resolved files from this change, then it proceeds to the next change).

-r remote

When p4 resubmit is run with the -i option, the -r option specifies the remote spec whose mapping is used to limit the files affected by the unsubmit operation. For example:

$ p4 resubmit -r rmt @>=17

This example affects only the files specific by the remote spec, not all files in the depot.


Resume the resubmit process once conflicts have been resolved. With this flag, resubmit begins by submitting the fully-resolved change and then proceeds to the next unsubmitted change.


When a filespec is provided with the -i option, the interactive resubmit first unsubmits each change that modified a file in that path.

Usage Notes

Can File Arguments Use Revision Specifier? Can File Arguments Use Revision Range? Minimal Access Level Required



or admin to use the -i option


p4 resubmit -m

Merges and resubmits your unsubmitted changes.

Related Commands

To unsubmit submitted changelists

p4 unsubmit