Software Version Management

Bring Order to Innovation

If you're building an enterprise application, a killer game, a ground-breaking mobile device or the next social media platform, choosing the right software version management is a must.

Flexible, Scalable, Shared Solution

Businesses depend on teams of people working together on important digital assets like software code, documents, spreadsheets, images, designs, and other electronic files. With Perforce, your teams can find the files they need, easily access the right versions from anywhere, and collaborate on them without conflict. The result is repeatable and reliable delivery with higher productivity and lower costs.

What Sets Perforce Apart

Perforce defines best-in-class, flexible, scalable shared software version management. We back our solutions with world-renowned support and services, so your teams can focus on what they do best.

Perforce is highly scalable.

Support teams of any size, working anywhere, with no barriers to collaboration. Developers in California and Singapore can work together as a single team, and use as much build-test-deploy automation as your Ops team can handle.

Perforce stores any type of file.

How do software engineers, game artists, hardware designers, and Ops teams all work together? They put their data in the one version management repository that knows how to handle any kind of file.

Perforce supports cutting edge workflows.

Perforce has the tools to support your workflow. Streams, shelving, and Git Fusion underpin the most productive development processes, with easy handoffs to release engineers and Ops teams.

Secure from design to deployment.

Granular access control, applied consistently around the world, lets you share information with minimal risk. Auditing and compliance tools help you with any regulatory or legal concerns.

Get peace of mind.

Perforce is extensible, and easy to use and maintain. Perforce’s industry leading support and low cost of ownership help you protect your development process and investment.

Perforce has been so integral to our ability to effectively and efficiently develop our products and run our systems, that we'd be in a world of hurt without it."

Tony Lanagan

National Instruments, Engineering Design Services Director

Key Advantages of Perforce

Teams with developers, artists, QA, DevOps, and information architects, at any location, can transparently version their work as part of a collaborative workflow.

Distributed Architecture Scales Simply for Powerful Performance

Perforce software version management's distributed architecture, with advanced collaboration tools for remote teams, gives organizations the flexibility of distributed versioning without sacrificing project transparency, process management, or security. Perforce is fast and easy to use regardless of the number of users or size of the depot it is supporting.

Many Perforce customers employ single shared versioning service instances, containing terabytes of data and any number of Perforce proxy services, continually accessed by thousands of users worldwide. The addition of replication services gives administrators more flexibility to support distributed environments, while Git Fusion offers seamless distributed support.

Perforce distributed development diagram

"Performing a sync task happens rapidly and open for edits and submits are nearly instantaneous, irrespective of file sizes. The power of Perforce is noteworthy; seamlessly handling large data sets and scaling across distributed teams."

Sonny Pham

Perforce Administrator, CareFusion Corporation

Version Everything in Your Products

Perforce’s flexible data storage options and efficient data management let you store everything you need to develop, maintain, and defend your products:

  • Documentation and design specs.
  • Source code.
  • Media and art assets.
  • Runtime configurations and artifacts.

Advanced Data Management

Why can Perforce handle more data than your average SCM tool?

  • Perforce’s metadata is separated from content storage, and content can be divided into separate physical storage devices. Administrators can choose the right storage for different types of content without impacting users.
  • Purging, archiving, and compression options let administrators tune the system for different asset types. These options can be applied with fine granularity: huge log files should be compressed, but media formats should not be.
  • Perforce can even delegate storage to specialized asset devices.
  • Perforce client software doesn’t try to manipulate or duplicate your data. Once it’s over the wire, there’s almost no overhead.
  • Filtered data replication lets you avoid shipping terabytes of data to every remote office.
  • Did you check in a terabyte of data you don’t really need? Perforce has a simple way to purge unnecessary data.

Task Branches, Review, and Promotion

Modern Agile and continuous delivery workflows require rapid and efficient ways to manage development tasks in the codeline.

Perforce has task streams, shelving, and Git Fusion to help developers on their way. Completed tasks can be reviewed directly in Perforce graphical tools like P4V, P4Eclipse, and P4VS, or in standalone code review tools for a more complete review experience.

When tasks are merged into more stable branches, Perforce’s rock solid merge engine performs reliable and hassle-free merges.

stream model

Branches with Brains: Best Practice Branching Strategies

Perforce Streams [video - 3:22 mins.] and branches intelligently organize the modules that comprise your projects, along with the policies that govern their workflow. Perforce pioneered the best-of-breed mainline branching model, which helps to organize and guide development from the smallest bug fixes to the longest lived releases.

>> Download Streams Product Brief

DevOps

Only Perforce can store all the data you need and organize it into an effective model, even for projects with multiple dependencies and a rich feature/customization matrix. That makes for an easy handoff from development to operations:

  • Send the correct configuration of a complex product.
  • Trace bug fixes from source code to affected deployments, or vice-versa.
  • Manage your deploy scripts and configuration files with full SCM power.
  • Maintain a full audit trail and chain of custody for deployed artifacts.

 

Perforce's shared versioning service seamlessly coordinates the work and responsibilities of your diverse team members using their preferred methodologies and tools of their trade.

Randy Defauw video

Guidance for Effective Team Collaboration

Perforce Streams provide adaptable workflow for teams and promote efficiencies such as code re-use, automated merging, fast context switching, efficient workspace updates, and inherited workspace and branch views. An innovative addition to the Perforce branching and merging toolset, streams eliminate overhead, simplify common processes, and increase agility and scalability. In projects with a large volume of data, the time and performance savings are considerable.

Continuous Integration

Always Agile imageContinuous, iterative development is supported for any workflow methodology you employ. With Perforce, you can:

  • Build and confirm your work from a private workspace before submitting your code
  • Execute automated builds and tests on specific branches upon check-in
  • Improve the quality of software and delivery time to market

Popular continuous integration tools, like Electric Commander from Electric Cloud, Parabuild from Viewtier, and Anthill Pro from UrbanCode, all support their own integrations with Perforce.

Transparent DevelopmentP4V Time-lapse View screenshot

With Perforce graphical tools and plug-ins, you can keep up to date with the state and health of your projects and quickly understand the consequences of a change when and wherever it happens.

 

Perforce helps you ensure compliance and enforce workflow policies with complete traceability and audit trails throughout the application delivery process.

Enforce Workflow

Trace source code, defect issues, tasks, configurations, and releases from project inception through delivery into production. With automated processes, you can help ensure teams adhere to best practices and stay compliant with regulations.

Create Audit Trails

Perforce jobs provide an audit trail by enabling bugs and patches to be traced between branches and projects. Jobs are customizable and can be used to:

  • Track all tasks and link them to work completed.
  • Integrate with third-party defect tracking tools
  • Easily purge files to satisfy any legal or regulatory concerns.

Granular File Access and Permissions

A fine-grained access control model limits file access to the Perforce file repository and operational access can be granted or denied (super, admin, write, open, read, list) by user, IP address, or file path.

The shared versioning service can log individual file access for audit compliance. File access and permissions are applied consistently for all users connecting through Perforce proxy services, replication services, and Git Fusion.

Prove Chain of Custody

Perforce records file signatures for everything in your project: source code, media assets, documentation, and delivered product. Using Perforce’s sophisticated branching and workspace tools, prove that the files deployed on a production server are free from tampering and identical to the ones tested in your development process.

Automate Process

Enforce codeline policies and implement code review and continuous integration with the tools and scripting languages of your choice. Using server-side triggers to invoke custom scripts, processes can be put in place to associate issues with changelists during check-ins, and to comply with pre-existing workflow policies.

Reporting

Utilize Perforce tools for your enterprise reporting needs:

  • P4toDB, the Perforce Integration with SQL Databases, replicates Perforce metadata to open source and commercial SQL databases for reporting and analysis. P4toDB supports the DB2, Oracle, Microsoft SQL Server, MySQL, Postgres, JavaDB, and Derby databases.

Perforce's self-contained version management technology frees your valuable engineering talent from mounting dedicated disk volumes, configuring file systems, or worrying about third-party licenses. One person can easily set up and maintain a Perforce deployment.

Low Total Cost of Ownership

One of the barriers to adopting a new software version management system is the high cost, both in terms of the up-front purchase price as well as the ongoing maintenance and administration. Perforce combines low administrative and support costs with an affordable up-front purchase price.

P4Admin Tool screenshot

One Perforce Administrator Supports Thousands

Perforce's technology is self-contained, so one person can easily set up and maintain a Perforce deployment supporting 1,000 or more users.

  • Modifying user permissions and monitoring processes are easy to do through an intuitive drag-and-drop administration tool
  • A reliable backup mechanism keeps your data safe and can be automated
  • Server upgrade installations and license changes take less than 10 minutes

Affordable Pricing and Support

Perforce is licensed on a "per human user" basis. All software components are included, workspaces are unlimited, and there are no hidden extra charges. Perforce provides:

  • Thorough technical documentation
  • Standard technical support in the first year of purchase
  • The Perforce Knowledge Base: searchable web-based repository for Perforce and general version management topics
  • Perforce Forums: an active community of interested users

Perforce has a special discount for up to twenty users, and every customer can take advantage of the same tiered discounts. Different service-level agreements for technical support enable companies to save money depending on the size of their user base.