Version Control Integrations

Top |Previous |Next

Perforce Integration

This section describes Collaborator integration with Perforce:

Perforce Server Integration

The Collaborator server can pull submitted changelists directly from your Perforce server for review, without users needing to install any client programs. It can also enforce file content access permissions (protections) configured in Perforce.

GUI Client

The GUI Client can upload Changelists into Collaborator. You can upload Pending or Submitted Changelists, but you cannot upload the Default Changelist. The GUI Client can also upload arbitrary Perforce diffs, files in a Branch, or the difference between two Labels or dates.

Command-Line Client

The Command-Line Client can upload Changelists into Command-Line Client. You can upload Changelists Pending or Submitted Changelists, but you cannot upload the Default Changelist. The Command-Line Client can also upload arbitrary Perforce diffs.

Eclipse Plug-in

The Eclipse Plug-in can upload Perforce changelists. Just right-click on any changelist entry in Eclipse, either before or after it is submitted.

P4V and P4Win

Collaborator comes with plug-ins to P4V and P4Win that let you right-click on any changelist (pending or submitted) and add to a new or existing review.

Perforce Server Triggers

Perforce server-side triggers can ensure code is reviewed. There is also a trigger to automatically update a changelist with information about the review of that changelist.

Perforce Changelist Renumbering

Perforce nearly always renumbers changelists upon submission, but when you are doing pre-commit reviews Collaborator always has the pre-submit number. We have included a script you can customize that will ask Perforce what a changelist's number was before it was submitted, and update changelists in Collaborator to have the new number. This requires a Collaborator client and server 5.0.5005 or better, and a Perforce client and server 2007.3 or later. This script is intended to be run periodically via cron or a similar task scheduler. Perforce Changelist Renumbering Script

Supported Versions

Our integration uses your own Perforce command-line client (p4) to communicate with the server. We support all client and server versions later than 2002.1. Our Eclipse Plug-in supports Perforce's eclipse plugin version 2009.2.234487 or later.

Because we use client applications already present on your computer, we support all protocols, authentications, proxies, and other client configuration options you are currently using. This includes configuration from environment variables, $P4CONFIG files, p4 set registry values, and so forth.

It's recommended to use JDBC connector version starting from 8.0.27.

Support for Branch / Integrate

Collaborator fully supports Perforce's file branching and integration semantics.

If files in a changelist are marked for branching, they are not considered "changed". The file content itself is not changed; only the file paths are being changed.

If files in a changelist are being integrated, this works just like a regular change. Many customers choose to review integrations especially carefully since the changes might interact in unexpected ways.

Support for Copy / Move

Collaborator fully supports Perforce's file copy/move semantics. Thus, if a file is copied or moved rather than added from scratch, it will show up that way in the various user interfaces.

Support for Directory-level New/Delete/Copy/Move

Collaborator partially supports Perforce's concept of directories (not just files) being altered.

All files underneath the directories in question will be scanned, uploaded and represented properly in the GUI. The directories themselves will not be shown in any GUI.

Support for Shelvesets

Collaborator supports adding Perforce Shelvesets to reviews.

Additional Information About Mark for Delete

If you want to use "Mark for Delete" on a file and add this file to the newly created Collaborator review, synchronize this file with the depot. Otherwise, this file can be absent from your Perforce workspace and Collaborator will return an exception.

Technical Details and Limitations

Review Screen, Diff Viewer, Eclipse Plug-in and Visual Studio Extension display atomic changelists in chronological order (from older to newer), regardless the order in which they have been uploaded to review.

Collaborator does not guarantee that Diff Viewer will display correct comparison results for the following cases:

If you have "gaps" while adding subsequent atomic changelists to the same review. For example, add changelists 1, 2, and 4, but forget to add changelist 3.
If you add pending changelists from different workspaces to the same review.
If you add several diffs (non atomic changelists) to the same review.

© 2003-2025 SmartBear Software. All rights reserved.