Category: Tips & Tricks

  • November 12, 2013


    I think 'p4 edit' is by far the most cursed Perforce command on Twitter. Folks coming from Subversion and Git are accustomed to an implicit checkout workflow, and being forced to ask the version control system for permission to change something is grating. Conveniently, Perforce supports implicit checkout as well! Let's take a look.

  • October 28, 2013

    Image: by missresincup w/Flickr

    The Perforce server's Spec Depot feature is very handy. If you don't already have a Spec Depot, you should!

  • October 17, 2013


    A typical use case for a P4 script is to process some or all spec objects such as client workspaces, labels or changes. For example, I might want to change the options of all existing client workspaces from normdir to rmdir. The workflow would then be:

    Posted In:
  • October 10, 2013

    In the days before streams, it was commonly accepted that if files had different names in different branches, you would need to set up a branch spec that mapped one set of file names to the other if you wanted to integrate changes between those branches. When we began developing streams functionality, we knew we would need to provide another way to handle refactoring within streams, since the branch view used to merge changes between a stream and its parent is dynamically generated and is supposed to be a relatively simple function of the paths specified for each stream – hence we came up with a system for matching different filename variants within a source and target to each other and setting up resolves between them.

  • October 08, 2013

    Image: Sewing Daisies w/Flickr

    Posted In:
  • September 30, 2013

    We just threw our first public hackathon, and as you can imagine, we learned a lot in the process. I'd like to share a few of things we learned, so that you can hopefully use some of our experiences in planning your own event.

    1) Have A Hook