Perforce - A full-featured ecosystem
Overall Satisfaction with Perforce
Being a large company that spans many continents, and having merged with other companies in the past, we have many different groups who've decided on how they develop and store data all on their own. Because of these seemingly independent choices, we've adopted the use of various revision control packages, including Perforce, as well as the popular host of other options, such as Git and SVN. Each package brings advantages as well as hindrances, from the very easy to get start but not as well supported nor portable SVN, to the very portable yet hard to work with and get going Git; and finally Perforce, a sort of in-between: easy to get started and pull the files you want, yet difficult to perform more complicated tasks such as branching and integrating. Supporting a rich GUI for most tasks, as well as a command-line interface for automated or more complicated tasks, Perforce can find favor with users of varying need and technical proficiency.
Pros
- Perforce has a feature rich GUI making it somewhat easy to find files, and historical changes, as well as utility features to better visualize changes over time.
- The concept of change lists, client specs, and branches is unique to a large extent, and adds value in high customization for each user.
- Perforce is well supported, and has plenty of information on use both officially, and through other user experience as documented on the web.
Cons
- Perforce tends to feel backwards in how it approaches certain tasks, like branching and integrating - even once you figure out how it wants you to perform these tasks, you will likely forget when it comes around to the next time you need to do them again.
- Perforce has a higher price tag, comparatively.
- Perforce make some tasks very easy, and yet other tasks very difficult - it doesn't always seem to have found its target user's proficiency.
- Client specs allow high customization in what your view of the repo looks like.
- Integrating and branching is very difficult. I've been one of the main people in performing this task as it takes a great deal of technical proficiency, and I seem to have to re-learn how to perform these tasks every time.
- Perforce feels like a ecosystem, a complete solution. It requires you to learn its speak, and order of operation, however, it comes with solutions for every possible task you'd need to perform, and is highly script-able when you want to further customize.
- SVN,GIT
Perforce has more features than SVN. However even the simpler tasks in SVN require a degree more technical aptitude with Perforce. Git offers most of the same features, however most of these are only really supported via the command-line in Git, where as most tasks can be performed through Perforce's GUI. Perforce is much more expensive than the other two.
Using Perforce
Pros | Cons |
---|---|
Well integrated Consistent Feel confident using | Unnecessarily complex Difficult to use Requires technical support Slow to learn Cumbersome |
- Perforce is easy to install, and in the case you are not creating complicated client specs, easy to get the files you need.
- Branching and integration of other branches is extremely complicated, and feels like it moves backwards.
- The software, GUI and commandline interface, are feature rich and relatively straightforward to use, as long as you know what you are trying to use.
- Branching
- Re-integrating
- Complicated client specs
Comments
Please log in to join the conversation