Developer Product Briefs

High-End Source Control

Review of Perforce's software control management product, Perforce 2008.1 GA.

If you're developing software, and you're not using a Source Control Management (SCM) package, you could be smarter in developing your applications. In a team environment, SCM moves from being smart to being essential: SCM is what keeps multiple developers from overwriting each other's work and supports assigning blame for the last bug to make it into production.

For enterprise-level development teams, Perforce Software Inc. has released the latest version of its SCM product: Perforce 2008.1 GA. At this level, SCM includes the ability to track multiple versions of a single software package and merge changes from different existing versions to create a new version, among other features.

After installing Perforce on your workstation, setup is easy: Simply use the Perforce client (cryptically called P4Win on the Start menu) to specify a folder on your hard disk to hold local copies of your code (see Figure 1). Because Perforce integrates well with Visual Studio, as it does with most IDEs, you might never use the Perforce client again after you make this change. Only project managers who need to manage multiple distributions of software packages are likely to use the client.

To integrate Visual Studio and Perforce, you need to set Perforce as your SCM in Visual Studio's Options dialog. You can then perform all the essential tasks that developers typically need to do without leaving Visual Studio. For example, you can check projects into the source-code repository, get the latest version of any file and review the history of changes for any file.

For a shop with 20 or fewer users, Perforce's list price is $900 per user, though discounts are available for larger shops. If you have a large software inventory or you need to support multiple versions, then you'll need an SCM solution with the capabilities of Perforce. For purposes of comparison , other packages that provide the same functionality include Visual Studio Team Foundation Server (TFS) or Subversion. At this level of complexity, all three packages are roughly equivalent, but, generally speaking, Perforce provides slightly more sophisticated features than the others.

While the per-user charges for TFS are about half of Perforce's charges, you also need to buy the TFS server (about $2,500) and SQL Server (which, in a Microsoft shop, you probably already have). If you have more than six users, Perforce will be more expensive than TFS. Of course, if cost is your primary criteria, and you're willing to give up customer support, you can consider the open source SCM package, Subversion.

However, if you have developers using tools other than Visual Studio -- such as Eclipse -- then integrating TFS with those tools will bring the per-user cost into the same range as Perforce while adding complexity. Perforce is the better choice for enterprise shops with a large number of non-Visual Studio users.

At A Glance
Perforce GA
Perforce Software Inc.
Web:
www.perforcesoftware.com
Phone: 520-864-7400
Price: $900 per user (volume discounts available)
Quick Facts: A comprehensive SCM package that provides support for complex development projects with multiple team members.
Pros: Good integration with Visual Studio and a wide variety of IDEs, and good support.
Cons: Price

About the Author

Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube