Conference Summary
We would like to extend a big thank you to everyone who attended and made Perforce Software's 2005 User Conference at Treasure Island in Las Vegas a success. We enjoyed meeting all of our fellow Perforce users and Perforce engineers and hearing how they use Perforce at their companies. In addition, we appreciate the invaluable feedback from everyone especially during the Meet the Experts forum, Usability Testing sessions, and more. We hope to see even more Perforce users at our next conference.
Below are the presentations and white papers given by the conference speakers, in order of appearance.
White Papers and Presentations
Changes to P4 integrate in 2004.2
by Jeff Anton, Perforce Software
The 2004.2 release of the Perforce Server saw significant changes to the operation of the p4 integrate command. This presentation covers Perforce's motivation for the changes, how the command operated previous to these changes, how the changes affect behavior, and what operations will likely cause performance problems. This talk describes in some detail the way in which indirect integration credit is computed and how the Server finds indirect integration base revision files.
- Download white paper [PDF]
- Download presentation [PDF]
Merging Branches Using Perforce
by Naveen Patil, Intuit
During the past three years, the need to do parallel development on the QuickBooks product at Intuit has evolved from using a "Main branch for development and a Release branch for Change Control" approach to several streams of development that use the Main branch almost exclusively for integration between branches. The frequency and cost of merging these branches has also significantly increased.
This presentation focuses what has been learned from using Perforce for merging between branches. It discusses a repeatable procedure that has been used successfully to merge between branches, the algorithm Perforce uses to find the "base" and "contributor" versions, the merge conflict resolution procedure and its effect on future merges, and developer best practices that can aid this task. The significant improvements in the 2004.2 release that help with merging are also discussed. Several examples are used to illustrate the decisions associated with resolving a merge conflict.
- Download presentation [PDF]
Large Perforce Installation Details: Perforce at Adobe
by Stanton Stevens and Dave Foglesong, Adobe Systems
Adobe began to migrate to Perforce in 1998. At present, we maintain over 70 systems on 10 servers, supporting over 1800 users and more than two terabytes of data distributed across three continents. This presentation discusses Adobe's Perforce environment, the challenges in managing this kind of installation, and the benefits Perforce has brought to our software development teams.
- Download white paper [PDF]
- Download presentation [PDF]
Performance Update
by Richard Baum and Michael Shields, Perforce Software
Perforce takes seriously the "fast" in its "Fast Software Configuration Management System" tag line. In this presentation, Baum and Shields discuss performance features and fixes introduced since the last user conference. Also presented are a few tips and tricks that may help to improve the overall performance of your Perforce installation.
- Download white paper [PDF]
- Download presentation [PDF]
Perforce Use Model at VMWare
by David Ferguson, VMWare
Discussion of Perforce use at VMWare, including an overview of branching models, merging policies, client maintenance, performance considerations, upgrades, backup/restore support and general cool features will be presented. Learn about our experiences and attempts to scale a build environment designed for 40 developers into one supporting 400 developers less than two years later.
- Download presentation [PDF]
Analyzing File Content History
by Michael Bishop and James Creasy, Perforce Software
Have you ever needed to figure out what broke the build? Or needed to track down when, where, and why a particular line of code was added to a file? Because Perforce stores all changes made to a file by individual line, and because it can cross-reference this information with changelists, the answers to these questions are already stored in your Perforce system. This talk discusses Perforce's powerful tools for extracting and visualizing the content history of files to solve everyday issues faced by Perforce users.
- Download white paper [PDF]
A High Performance, High Reliability Perforce Server
by Shiv Sikand, IC Manage and Angela Marie Thomas, TiVo
TiVo has been able to improve both the performance and reliability of their Perforce installation using the IC Manage Perforce appliance. The appliance consists of a dual redundancy configuration for all hardware components, a Linux kernel coupled with a high performance journaled filesystem and the IC Manage Sync Engine. The Sync Engine is a highly scalable method for managing file updates to distributed workspaces across the enterprise. This presentation describes the overall appliance architecture as well as provides details on the design and implementation of the Sync Engine and documents the performance gains delivered by the system in a real world environment.
- Download white paper [PDF]
- Download presentation [PDF]
Distributed Development with Perforce
by Tony Vinayak, Perforce Software
Distributed software development projects are fast becoming the norm, and coordinating the efforts of far flung development teams is shaping up to become one of the biggest challenges faced by enterprise IT today. It is hard to imagine any sizable development project being managed without an underlying software configuration management tool. This presentation outlines the business needs that an SCM tool should be able to fulfill in order to support distributed development, some common approaches adopted by tool vendors over the years, and the innovative architecture implemented by Perforce Software.
- Download white paper [PDF]
- Download presentation [PDF]
S is for Source: The Role of the Build System in Configuration Management
by Anders Johnson, NVIDIA and Gary Holt, Safeview
Is Perforce really a software configuration management system? What does "configuration management" mean anyway? In this talk, we show that Perforce addresses a subset of the configuration management problem that is not limited to software, and that much of the remainder of the problem is best addressed by build system technology. We also showcase several advantages of Makepp over the leading brand of build tools.
- Download white paper [PDF]
- Download presentation [PDF]
Perforce Backup Strategy and Disaster Recovery at National Instruments
by Steven Lysohir, National Instruments
So you've managed to get Perforce operating seamlessly within your development environment. Performance is lightning fast, distributed development is no longer an issue, and automation is key. Yet what if something goes wrong? Are you prepared for disaster?
This talk illustrates three key disasters at National Instruments, and how we overcame losing a significant amount of source code and valuable developer time by designing our server architecture and backup policy around disaster recovery. I'll share our lessons learned and some helpful recommendations on how to ensure that your time and data are protected in the event of unexpected hardware or "user" error that could otherwise result in unnecessary data loss.
- Download white paper [PDF]
- Download presentation [PDF]
Essential P4V
by Hans van der Meer and Kelly Day, Perforce Software
You probably know that P4V is the cross-platform user interface for Perforce, but how is the program organized? What functionality does it provide? In this presentation, you'll get a concise overview of the Perforce visual client. You'll learn how P4V connects the server and your local workspace. You'll know what tools are at your fingertips, and how those tools can maximize your productivity. You'll learn how P4V is organized and how you can organize it. Find out how P4V can make your life easier.
- Download white paper [PDF]
Scripting with Perforce
by Jeff Bowles, Piccolo Engineering and Stephen Vance, Stellar Advances
This presentation follows the arc that starts with context, (the environment in which a script runs), continues through showing examples of specific techniques (giving strong support to a body of example scripts in Perl/ Python/ Ruby/ P4Perl/ P4Ruby), and illustrates how to create tools to support higher-level purpose: The implementation of specific policies that address organizational needs.
- Download white paper [PDF]
- Download presentation [PDF]
Using P4G.py from the Command Line
by J.T. Goldstone, Ofoto, a Kodak Company
This talk presents a shell scripting technique using p4G.py, a freely available command line filter. Although this technique may be used in many contexts where shell scripting is used, this presentation focuses on using it in the context of the user client space.
The p4 command provides several useful output formats. Beyond the standard text output and -Ztag formats there are the -G (and -R) binary formats. The binary formats are easy to parse and readily handle special cases including filenames with spaces. Furthermore, these flags cause some p4 commands (for instance, p4 groups) to provide additional output. The p4G.py tool parses the binary output and makes it available to the shell script writer.
- Download white paper [PDF]
- Download presentation [PDF]
Writing Triggers in Perforce
by Stephen Vance, Stellar Advances and Jeff Bowles, Piccolo Engineering
Perforce has introduced new trigger types with the 2004.2 release. The triggers allow a new range of capabilities to maintain the development environment, enforce development policies, and implement development support services. In the context of server-side triggers, this presentation discusses several techniques for implementing trigger scripts and examines several purposes for triggers. This topic elaborates upon the Scripting with Perforce talk by Jeff Bowles.
- Download white paper [PDF]
Commit Trigger Example - A Configurable Number of Revisions
by Richard Baum, Perforce Software
This is a brief discussion and walk through of a commit trigger that allows a configurable number of revisions per binary file. The trigger intelligently replaces file revisions with small stub files that notify users of what happened to the original file. It fixes up MD5 hash values to prevent subsequent error warnings by "p4 verify" runs.
- Download white paper [PDF]
- Download presentation [PDF]
The Flow of Change
by Laura Wingerd, Perforce Software
Are your software engineers dazed and confused by the repository that stores their work? Do iterative development, team collaboration, and parallel releases challenge your ability to keep track of evolving software? Is your company's version control methodology more complicated than the software it produces? In this presentation we'll take a step back from specific tools to explore the protocols, conventions, and etiquette of branching and merging. Using the ideal world as our model, we'll see how complicated, procedural rules can be replaced with a handful of simple, easy-to-recognize relationships between fundamental containers of software in development.
- Download presentation [PDF]
User Conferences: 2007 | 2005 | 2003 | 2001 | 2000 | 1999 | 1998 | European User Conference