First you should launch P4V, and open the Preferences Dialog. This is done by selecting the Preferences... option on the bottom of the Edit menu as shown in the image to the right.
First we'll set up Project: Merge to compare files. Click on the Diff tab at the top of the Preferences Dialog and then on the Add button below to open the Add File Type dialog: Fill in the information for the new file type as detailed below:
Extension
.vcproj - This is the file extension for pre-2010 Visual Studio project files.
Application
Browse to the Project: Merge application folder and select the Project: Merge executable. This will be located under
either Program Files or Program Files (x86) depending on whether you are using a 32-bit or 64-bit version of Windows.
Arguments
-compare -left %1 -right %2 - These are the command line options instructing Project: Merge to compare the two files
specified by Perforce.
When you have filled out the above details, click the Save button to save the changes in Perforce. Perforce should now invoke Project: Merge when you attempt to compare two Visual Studio project files.
Now we'll set up Perforce to use Project: Merge when merging files. Perforce always performs three-way merges with a common base file and two changed files that are combined into a single result file.
In the P4V Preferences Dialog, click on the Merge tab and then on the Add button as before to open the Add New Type dialog: And once again, fill out the information for the new file type as below:
Extension
.vcproj - This is the file extension for pre-2010 Visual Studio project files.
Application
Browse to the Project: Merge application folder and select the Project: Merge executable. This will be located under
either Program Files or Program Files (x86) depending on whether you are using a 32-bit or 64-bit version of Windows.
Arguments
-merge -base %b -left %1 -right %2 -result %r - These are the command line options instructing Project: Merge to merge the
three input files specified by P4V into a single output file which P4V will read back once the merge is complete.
You can add any other XML file associates for Project: Merge in exactly the same way. The difference from the steps above is the file extension of the files you wish to associate with Project: Merge. For example, you can use Project: Merge to compare and merge Visual Studio Property Sheets by replacing the .vcproj file extension with .vsprops.