Skip to Content
Practical Perforce
book

Practical Perforce

by Laura Wingerd
November 2005
Intermediate to advanced
256 pages
9h 12m
English
O'Reilly Media, Inc.
Content preview from Practical Perforce

Chapter 8. Basic Codeline Management

This chapter introduces conventions, policies, and techniques for managing codelines in a Perforce system. It also describes common pitfalls and missteps of codeline management that can easily be avoided.

Organizing Your Depot

You know by now that the Perforce depot is a hierarchical structure of directories and files, and that you are at liberty to organize it as you please. The question is, what is the best way to organize it? There is no one right answer, of course, but some factors and recommendations should be taken into consideration as you decide what goes where.

Filespecs as containers

Interestingly, Perforce doesn’t know about containers like bodies of code, codelines, and modules. However, in Perforce we can containerize, and we do, with filespecs.[*] Any set of files that can be described with a single filespec can be treated as a container with a life and a history of its own. Filespec-defined containers can be used in activities like navigating a depot tree, setting up a workspace, making a branch, and configuring a release. This, in turn, lets us treat these containers as true SCM objects—that is, as objects that can be versioned, compared, branched, merged, labeled, and restored.

For example, //Ace/REL1/... is the filespec that refers to Ace’s Release 1 codeline. You can use this filespec to do things like display its recent history:

p4 changes -m3 //Ace/REL1/... Change 9634 ... bob 'Fix installer ...' Change 9632 ... bob 'Rebuild ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

gRPC: Up and Running

gRPC: Up and Running

Kasun Indrasiri, Danesh Kuruppu
The DevOps Handbook

The DevOps Handbook

Gene Kim, Jez Humble, Patrick Debois, John Willis
Learning Git

Learning Git

Anna Skoulikari

Publisher Resources

ISBN: 0596101856Errata