Perforce Public Knowledge Base - The Perforce Sample Depot Without Streams
Downloads Blog Company Integrations Careers Contact Try Free
Menu Search
Reset Search



The Perforce Sample Depot Without Streams

« Go Back



The Perforce Non-Streams Sample Depot provides you with a working example of a Perforce Server that can be used for testing or training. The Non-Streams Sample Depot demonstrates a typical depot organization along with some sensible naming conventions. It provides enough files and revision history to enable you to perform interesting and meaningful SCM tasks.


The Non-Streams Sample Depot contains several example projects, such as Jam, a software build tool written in C. The Non-Streams Sample Depot is not, however, intended to be a current archive of source code. For the latest Jam source code, see the Jam project in the Perforce Public Depot.

The Non-Streams Sample Depot demonstrates several methods for arranging your source code or Web development repository. Both the source code and Web development directories are organized to support a "mainline" development model. Perforce advocates use of a mainline model for concurrent development. More information on the mainline model can be found in white papers on the Perforce Web site. In particular, see the Best Practices for Version Management white paper. For further reference, see the book Practical Perforce.

The Non-Streams Sample Depot requires a Perforce Server version 2005.2 to 2010.2 Installation instructions are below.

For information on the Streams-enabled Sample Depot, see The Perforce Sample Depot without Streams.


The Non-Streams Sample Depot is organized as follows:

  • Software Development Projects

  • Web Site Development

  • Miscellaneous Shared Files



Software Development Branching Methodology

The Non-Streams Sample Depot contains three software development projects:
Jam, Jamgraph, and Talkhouse.

Ongoing development work occurs in the MAIN branch under each software project's name. For example:


or, in the case of the Talkhouse project, a main-dev branch:


Branches are created for feature development. Such branches isolate development work that might destabilize the MAIN branch. For example:


When code is ready for release, a release branch is created under the project name.
For example:



Web Site Branching Methodology

For Web site development, the example workflow is as follows.

Web page authors edit files under:


Files are copied to a staging area for final review before going live:


After passing review, files are copied to a live branch for publishing:




Miscellaneous Shared Files

Perforce can be used to store files that are shared between your development and corporate staff. For example, manuals and marketing documents are stored in the following path:





The installation of the Non-Streams Sample Depot assumes that you have first installed a Perforce Server and client application. A 2005.2 or later version Perforce Server is required. To download Perforce for your platform, go to the Perforce Downloads page. For instructions on how to install Perforce, see the 5 Minute Client and Server setup on Windows page.

To install and use the Non-Streams Sample Depot:

  1. Download the Non-Streams Sample Depot from our ftp site. The Non-Streams Sample Depot is contained in a .zip file:

    The size of the file is about 1.9MB and this file uncompresses to just over 5MB.

  2. Uncompress the file using a standard compression utility such as unzip or WinZip. For example, on Windows, select Start > Program Files > Accessories > Command Prompt from the menu. When the DOS command shell appears, issue the following command:

    cd C:\< directory>

    Again, if you don't have the unzip program on your computer, use WinZip or another compression utility that can extract .zip format files.

    When the file is uncompressed, it creates a directory named PerforceSample. The PerforceSample directory contains three items:

    • checkpoint
    # a file containing Perforce metadata
    • depot
    # a directory containing Perforce archive files
    • readme.html
    # a description of the Non-Streams Sample Depot including installation instructions

    The PerforceSample directory is referred to as your P4ROOT location.

  3. Copy the p4d executable to the PerforceSample directory.


    copy p4d.exe "C:\PerforceSample"
    cd "C:\PerforceSample"
  4. To create your sample Perforce database, restore the checkpoint file by issuing the following command where C:\PerforceSample is replaced by the location of the PerforceSample directory:

    p4d -r C:\PerforceSample -jr C:\PerforceSample\checkpoint

    The preceding step creates the Perforce database files in your C:\PerforceSample (P4ROOT) directory. Your Perforce database is now installed.

  5. To ensure that the database format is consistent with the Perforce Server version that you are using, cd to your P4ROOT directory and issue the following command:

    p4d -r "C:\PerforceSample" -xu

    You will see the message, "...upgrades done".

  6. Start the Perforce Server.

    On Windows, start the Perforce Server by issuing the following command at the command prompt:

    p4d -r C:\PerforceSample -p 1492

    When the server starts, it displays the message "Perforce Server starting...". The Perforce Server is now started and listening for client connections on port number 1492. The command prompt will not return until you stop Perforce.

    NOTE: The DOS command shell window remains open and appears inactive when the Perforce Server is running and listening for client connections. For the purpose of simplicity, this installation example uses the command shell start method. In most cases, however, Windows users start the Perforce Server as a Windows Service, not from a DOS command shell.

    On Unix, assuming you unzipped the file in your /tmp directory, start your Perforce Server by issuing the following command:

    p4d -r /tmp/PerforceSample -p 1492 -d

You are now ready to use Perforce Non-Streams Sample Depot! You can inspect the contents of the Non-Streams Sample Depot using either P4V, a graphical user interface, or P4, the command line interface. Specify your server as localhost or the name of your machine. Choose port 1492. Specify your name as the user, or use the supplied user, bruno, with no password. Create your own client workspace, or create a directory c:\bruno_ws and use the supplied bruno_ws user.

To verify your connection to the Non-Streams Sample Depot using P4, open a new command shell instance and issue the following command:

p4 -p 1492 info

For help with Perforce command syntax and options, issue the following command:

p4 -p 1492 help

To stop the Perforce Server, issue the following command:

p4 -p 1492 admin stop

For basic instructions on using P4V to connect a Perforce Server, see the 5 Minute Client and Server setup on Windows, or consult the P4V Help menu.

For additional information on setting up the Perforce Server or using Perforce applications, see the main documentation page on our Web site. If you encounter any problems installing or using the Non-Streams Sample Depot, please contact Perforce Support at

Related Links



Was this article helpful?



Please tell us how we can make this article more useful.

Characters Remaining: 255