I have used Perforce in my last three assignments (my current job I use Subversion, which I dislike almost the same.) I am a big fan of Perforce, and going from SourceSafe will be like Nirvana, Just getting an atomic check would be a big incentive for your company. Otherwise, Perforce is fast, it has good tools, and the workflow is simple for tasks such as mergers and integrations. I recommend it with all my heart. It may not be all new and bright, like the last widespread VCS, but, frankly, I prefer the client-server model for its speed, especially if you work with people from other countries who may have slow connections to you.
Visual Studio integration is pretty good, but it has some annoying issues. If you start another Perforce client (for example, P4V) at the same time, it very poorly tracks changes from another client in synchronization, showing which files are currently being scanned. Usually you need to close Visual Studio and load the project again if you want it to sync correctly. But the synchronization status does not actually affect the correctness of the checks / checks / updates, it just means that you can be fooled if you think that something is in a different state than in reality while you are in Visual Studio. Perforce customers will always show the correct status as they are constantly in sync with the database.
In addition, sometimes you find that you need to work "offline" (for some reason it’s not connected to the Perforce database), and when you download the project again, your Perforce bindings may be lost and you will have to rebuild each project separately. If you are working with a solution that contains many projects, this can be a big pain in patoot. The same thing happens when you first test a solution; binding to Perforce is necessary before integration happens.
Chris blackwell
source share