# Diffing files and folders

To diff two files:

1. In the depot pane, select the two files you want to diff.
2. Context-click and choose Diff... The Diff dialog is displayed
3. Specify the revisions of the files you want to diff and click Diff. P4V launches P4Merge, displaying the differences between the files at the specified revision.

Shortcut: drag the first file to the second file and drop it.

To diff two folders:

1. In the depot pane, select the two folders you want to diff.
2. Context-click and choose Diff... The Diff dialog is displayed
3. Specify the revisions of the folders you want to diff and click Diff. P4V launches the folder diff utility, displaying the differences between the folders at the specified revision.

The resulting display is based on your current client view. In the case of added and deleted files, the folder diff utility displays the location where the files would reside if they existed. For example, in the following figure, the tapered tan band indicates that a file exists in the second path but not the first, and shows where it would reside if it did exist in the first path.

To diff two folder revisions:

1. Context-click the folder and choose Folder History.
2. In the Folder History pane, click and drag one revision to the other. P4V launches the folder diff utility.

To diff two labels:

1. In the depot pane, select the topmost meaningful path.
2. Right-click and choose Diff... The Diff dialog is displayed.
3. For each of the two Path fields, click Specify revision and specify the labels you want to diff.
4. Click Diff. The folder diff utility displays the differences between the labels.

Diff dialog options

- Path: the two folders or files you want to diff. If you choose Workspace revision, you can ensure that all files in the workspace (including files within the client mapping that are not under Perforce control) are displayed by using local syntax. To display only files under Perforce control, use depot syntax.
- Workspace revision: the file revision in your client workspace, including any changes you made after retrieving it from the depot and editing it.
- Latest revision: the revision that was most recently submitted to the depot (the head revision).
- Have revision: the revision you most recently retrieved. Does not include any edits you made after retrieving it from the depot.
- Specify revision: enables you to designate the desired revision using a revision number, changelist number, date, or label.

Checking workspace consistency

To detect common inconsistencies between the files in your workspace and those in the depot, you can diff your workspace with the server by selecting the folders of interest.

When diffing folders, the folder diff utility detects problems such as:

- Files that need to be added to or deleted from the depot (files you have created or deleted in the workspace)
- Files in the depot that need to be retrieved to your workspace (files that changed in the depot after you retrieved them)
- Files you have edited but not submitted.

- Local files that you changed without first opening them for edit or without setting write permission (for example, using `:w!` in vi.)

The folder diff utility also detects client view mapping disparities such as:

- Unmapped or remapped files and directories
- Files and directories that were retrieved to the workspace and subsequently removed from the client view
- Files and directories that exist in the local workspace but are not in the current client view

To prevent or correct disparities that arise from changes to your client view, retrieve the affected files (choose Get Latest Revision).

Note: Viewing the state of the depot at a specified point in time

When you choose Specify revision, the corresponding pane displays the state of the depot at the specified date, changelist number, or label. This feature enables you to view the depot structure at that time without retrieving files, similar to P4Web's Back in Time Browsing.