Synopses & Reviews
When developers build software, they're able to keep track of all the different versions and all the components they use with software configuration management (SCM) systems. One of the more popular SCM products is Perforce.
Authored by Perforce's own VP of product technology, Practical Perforce is the ideal complement to the existing product manual, focusing less on the 'how" and more on the "why" and "when." The book is not only a helpful introduction to Perforce,it's an enlightening resource for those already familiar with this versatile SCM product. Whether you're a programmer, product manager, or build engineer, you stand to benefit from the many insider tips and ideas presented in this convenient guide.
Practical Perforce is divided into two main parts. Part I offers a whirlwind technical tour, complete with careful descriptions of basic and advanced Perforce commands designed to give you a baseline knowledge. Part II describes the big picture-using Perforce in a collaborative software development. It outlines recommended best practices and quickly shows how to implement them with the Perforce operations introduced in Part I. Throughout the book, you'll learn how to maximize Perforce so it completes tasks like these in the most efficient manner possible:
- Keep track of changes as you conduct concurrent parallel work on files
- Log activity
- Generate reports on who did what when
- Compare, merge and branch files
- Store files and file configurations
- Restore lost bug fixes
Recognizing the pitfalls and practices of an SCM system like Perforce is absolutely essential to producing good software. Now, with Practical Perforce, you have the edge you need to ensure success.
An engaging read, this text imparts best practices for using the Perforce Software Configuration Management system--written by a Perforce insider.
About the Author
Laura Wingerd is currently vice president of product technology at Perforce Software. She divides her time between promoting sound SCM to Perforce's technical staff and promoting Perforce to the software development industry. She joined Perforce in 1997, just as the company moved out of the garage of its founder, Christopher Seiwald. She and Seiwald wrote "High-Level Best Practices in Software Configuration Management," a white paper widely referenced in books and articles. Prior to joining Perforce, Laura worked at Sybase, first developing a software build system for a skunk-works development project, then orchestrating a massive conversion of a build system for core database and networking products.
Table of Contents
Preface; What Is Perforce?; The Perforce System in a Nutshell; Why Perforce?; About This Book; What's Not In This Book; Additional Reading; Conventions Used in This Book; Using Code Examples; Safari® Enabled; How to Contact Us; Acknowledgements; Chapter 1: Files in the Depot; 1.1 The Perforce Filespec Syntax; 1.2 Browsing Depot Files; 1.3 File Types at a Glance; Chapter 2: Working with Files; 2.1 An Overview; 2.2 Creating A Workspace; 2.3 Synchronizing a Workspace; 2.4 Local Syntax, Wildcard Expansion, and Special Characters; 2.5 Working with Local Files; 2.6 Working with Pending Changelists and Submitting Files; 2.7 Removing and Restoring Files; 2.8 Useful Recipes; Chapter 3: Resolving and Merging Files; 3.1 Resolving: When, What, and How; 3.2 How Perforce Merges Text Files; 3.3 Reconciling Structural Changes; 3.4 Tips for Smoother Collaboration; 3.5 The Arcana of Merging; Chapter 4: Branching and Integration; 4.1 The Classic Case for A Branch; 4.2 Creating Branches; 4.3 Integrating Changes from Branch to Branch; 4.4 Reconciling Structural Changes; 4.5 The Arcana of Integration; Chapter 5: Labels and Jobs; 5.1 Saving Important Configurations; 5.2 Using Labels; 5.3 Using Jobs; 5.4 Jobs as Changelist Markers; Chapter 6: Controlling and Automating Activity; 6.1 Depot and File Access; 6.2 Accessing Files in Other Domains; 6.3 Saving and Restoring Specs; 6.4 Change Notification and Change Monitoring; 6.5 Scripting Tips; 6.6 Behind-the-Scenes Version Control; Chapter 7: How Software Evolves; 7.1 The Story of Ace Engineering; 7.2 The Mainline Model; 7.3 Ace Engineering Revisited; 7.4 Containerizing; Chapter 8: Basic Codeline Management; 8.1 Organizing Your Depot; 8.2 General Care and Feeding of Codelines; 8.3 Nightly Builds; 8.4 Is Bug X Fixed in Codeline Y?; Chapter 9: Release Codelines; 9.1 Creating a Release Codeline; 9.2 Working in a Release Codeline; 9.3 Integrating Changes into the Mainline; 9.4 Making a Release; 9.5 Distributing Releases; 9.6 Breaking the Rules; 9.7 Retiring a Release Codeline; 9.8 Task Branches and Patch Branches; Chapter 10: Development Codelines; 10.1 Creating A Development Codeline; 10.2 Working in a Development Codeline; 10.3 Keeping a Development Codeline Up to Date; 10.4 Working with Third-Party Software; 10.5 Delivering Completed Development Work; 10.6 The Soft Codelines; Chapter 11: Staging Streams and Web Content; 11.1 Staging Web Content; 11.2 Visual Content Development; 11.3 Bug Fixes and Staging Streams; 11.4 Major Web Development; Appendix A: Setting Up a Perforce Test Environment; A.1 Setup; A.2 Connecting to Other Servers; A.3 Getting Help; Appendix B: Perforce Terminology and P4 Commands; Bibliography; Glossary; About the Author; Colophon;