- Change list
- Revision graph: Has been instrumental in figuring out confusing merging issues and determining where the issue occurred
- The ability to add additional custom tools into the product to extend its capability.
Perforce has given us the capability to manage our deployments on different environments. We lacked a build and deployment tool to do this for us.
Thanks to the revision graph feature, we are able to track a release from one environment branch to the next.
Before using this solution, this was very manual, i.e., direct deployments to environments from developer workstations.
The part of Perforce that could be most improved is its automatic resolving of code merge conflicts. It takes a great deal of experience with Perforce merging to obtain an understanding of how the automatic resolve determines which version of a file to take, i.e., target or source.
We have been using Perforce for about two weeks. Before that we were using an older version of Perforce (2011.2) for seven years. We have never changed our SCM strategy in that time, so there is much of the product that we are not utilizing.
Perforce is a very stable piece of software, for Windows and Linux. Our server is on a Linux box and we use a Windows client to connect to it. We have not once had an issue with connectivity, responsiveness, or crashes.
Perforce is highly scalable. Its Custom Tools feature enables you to create and add custom tooling to allow you to do things differently.
The ability to change the programs used for file diffs is also a boon to the product.
The setup of the client was extremely straightforward. You enter your host name of the server that Perforce Helix is running on, select your account name, and you’re in.
The workspace setup is also very easy and flexible. It allows you to enter whatever path you want for your local repository.
Due to lack of interest, we have not evaluated alternatives. I personally have used BitBucket and SourceTree Client. I did this to try out a distributed source control environment and to experiment with different SCM strategies to implement at my company.
Take a look at their user base.
We are a small shop that works in a single building. A centralized source control system works very well for us, and we don’t need the dynamics of a distributed system. If you have employees who are working abroad, or not in your central location, I would stay clear of centralized source control systems.