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

P4 CLI Documentation | 2025.2

# p4 fix

Link jobs to the changelists that fix them.

## Syntax

    p4 [g-opts] fix [-d] [-s status] -c changelist jobName ...

Syntax and naming conventions

## Description

The `p4 fix` command links jobs (descriptions of work to be done) to a changelist (a set of changes to files that does the work described by a job).

If the changelist has not yet been submitted, the job appears on the `p4 submit` or `p4 change` form for the changelist to which it’s linked, and under normal circumstances, the status of the job is changed to `closed` when the changelist is submitted. If the changelist has already been submitted when you run `p4 fix`, the job’s status is changed to a default status (typically `closed`) immediately.

To change a job status to something other than the default status (typically `closed`) when you submit a changelist, supply the `-s` option to `p4 fix`, `p4 submit`, or `p4 change`.

Because described work can be fixed over multiple changelists, one job can be linked to multiple changelists. Because a single changelist might fix ten bugs, multiple jobs can be linked to the same changelist. You can do this in one command execution by providing multiple jobs as arguments to `p4 fix`.

## Options

Option | Description
--- | ---
`-c changelist` | The changelist to mark as fixed.
`-d` | Delete the fix record for the specified job at the specified changelist. The job’s status will not change.
`-s status` | Upon submission of the changelist, change the job’s status to status, rather than the default value `closed` (or some other value as defined in the `Presets:` of field 102 of the `p4 jobspec` form). If the changelist to which you’re linking the job been `submitted`, the status value is immediately reflected in the job’s status. If the changelist is `pending`, the job status is changed on submission of the changelist, provided that the `-s` option is also supplied to `p4 submit` and the desired status appears next to the job in the `p4 submit` form’s `Jobs` field. To leave a job unchanged, use the special status of `same`.
`g-opts` | See Global options.

## Usage notes

Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required
--- | --- | ---
N/A | N/A | `open`

- Because the format of jobs can be changed from site to site, it is possible that the jobs on your system no longer have a `Status` field. If so, you can still link jobs to changelists with `p4 fix`, but P4 Server will not change any of the job fields' values when the changelist is submitted.
- You can change a fixed or unfixed job’s status at any time by editing the job with `p4 job`.
- Another way to fix (or unfix) a job is to add it to (or delete it from) the `Jobs` field of an unsubmitted changelist’s `p4 submit` or `p4 change` form.
- You can’t `p4 fix` a job to the default changelist; instead, add the job to the `Jobs` field of the default changelist’s `p4 submit` form when submitting it to the depot.

- If you use `p4 fix -s status` on a job, and then use the `-s` option with `p4 submit` or `p4 change`, the `Jobs` field of the changelist’s form will also require a status value (the default value being the one specified by `p4 fix -s status`). The job(s) will be assigned the specified status upon successful submission of the changelist. If no status value is specified in the form, the error message:

  `Wrong number of words for field 'Jobs'.`

  is displayed.

  p4 fix -s status, `p4 submit -s`, and `p4 change -s` are intended for use in conjunction with defect tracking systems.

  Under normal circumstances, end users do not use these commands, and use `p4 submit` and `p4 change` without the `-s` option. In this case, only the job number is required in the `Jobs` field, and each job’s status is set to a default value (typically `closed`) on completion of the submit.

## Examples

`p4 fix -c 201 job000141 job002034` | Mark two jobs as being fixed by changelist 201. If changelist 201 is still `pending`, the jobs' status is changed to `closed` when the changelist is submitted.
`p4 fix -c 201 -s suspended job002433` | Mark `job002433` as `suspended`, rather than `closed`, when changelist 201 is submitted. Requires use of the `-s` option with `p4 submit`.

## Related commands

To add or delete a job from a pending changelist | `p4 change`
To add or delete a job from the default changelist | `p4 submit`
To view a list of connections between jobs and changelists | `p4 fixes`
To create or edit a job | `p4 job`
To list all jobs, or a subset of jobs | `p4 jobs`
To change the format of jobs at your site (superuser only) | `p4 jobspec`
To read information about the format of jobs at your site | `p4 jobspec` -o

Your search for returned results