Perforce

Welcome to the Perforce Public Depot




About Perforce and the Public Depot

Back to
Table of
Contents

  One of Perforce's many distinguishing features is that it can be used over the internet to track shared software development. A Perforce server stores files in a depot, and developers all over the world can submit changes to the depot. The orderly management of file changes and merges is provided by the Perforce SCM system.
If you haven't heard about Perforce, the Fast Software Configuration Management System, head over to our home page and read all about it.

We've set up this Public Depot to enable software developers outside of our company to contribute to the growing body of supporting programs and documentation of interest to our users. Among the first open source development projects we've initiated into the Public Depot are WebKeeper, an Apache Web Server module for accessing files in a Perforce depot, and Jam/MR, a fully portable alternative to make(1).

If you're interested in contributing to any of the software or documentation in the Public Depot, read on to find out how. Or, if you're simply interested in seeing how Perforce works, you'll find the Public Depot to be an accessible model of real, distributed, concurrent source management in action.

The Depot Roadmap

Back to
Table of
Contents

public
 perforce Perforce
 utils Conversion scripts, browsers, triggers, daemons, and other supporting programs.
 api Interfaces to the Perforce API.
 faq Frequently-asked questions and other user-contributed documentation.
 webkeeper Perforce WebKeeper module for the Apache HTTP server
 p4dti Integrate Perforce with third-party defect tracking systems
 cdsp4 The Cadence-Perforce Integration
 integrations Integrations of Perforce into various other third party tools and environments.
 jam Jam/MR
 revml RevML
guest
your_name_here Guest branches

How to Browse the Public Depot

Back to
Table of
Contents

If you're simply curious about our Public Depot, please browse freely using one of the following products we have set up on this site:

WebKeeper

The web server at public.perforce.com is an Apache Server with the Perforce Webkeeper module and the Perforce C++ API linked in. When you point your browser to public.perforce.com, you're browsing files in a Perforce depot. For example, the file you're reading now is stored in the Public Depot as "//public/index.html".

WebKeeper source files are available in the Perforce Public Depot in the //public/perforce/webkeeper path. For more information about the Perforce C++ API, see the Perforce Supporting Programs page.

P4Web

The alternate web server on this site is a P4Web Viewer, listening on public.perforce.com:8080.

Like P4DB, P4Web lets you navigate a depot hierarchy, observe activity, and browse file content. (The links on this page to Public Depot paths are handled by P4Web.) Start here to try it out.

And, like WebKeeper, P4Web sends documents to your web browser directly from a Perforce depot. For example, the page you're reading now is also available through P4Web at:

   http://public.perforce.com:8080/public/index.html

Unlike WebKeeper, however, P4Web's Back-in-Time Browsing ® lets you "go back in time" to browse documents stored in a Perforce depot. For example to see what this page looked like at 1:00 pm back in October 2, 1998, say, you could point your browser to:

   http://public.perforce.com:8080/public/index.html@1998/10/02:13:00

P4Web is currently available from the Perforce Downloads page.

P4DB

P4DB is a suite of CGI scripts in Perl contributed by Perforce user Fredric Fredricson. It lets you navigate a depot hierarchy, observe activity, and browse file content. To browse the Perforce Public Depot with P4DB, start here. The latest P4DB release is available at http://www.mydata.se/ftp/P4DB/

P4FTP

P4FTP, a supported Perforce product, allows access to a Perforce depot via the widely-implemented ftp protocol. As featured here, it is configured to provide read-only access for browsing and downloading content from the Perforce Public Depot.

P4FTP can also be used by registered Public Depot users for read-write access; in this mode, it allows Perforce to be used conveniently from software with ftp client support, (like Dreamweaver, Netscape, and Internet Explorer) to browse, download, or upload Perforce depot files.

More information about P4PTF, including download instructions, can be found here.

And...

You can run any of the available Perforce client programs (P4, P4Win, P4Web, etc.) on your own machine to access the Public Depot. Just set your Perforce port (P4PORT) to:

	public.perforce.com:1666
Note that we periodically purge client specs created by unregistered users. You are free to create new clients but unless you're a registered user, don't count on having a persistent client spec in the depot. See below for instructions on becoming a registered user.

Perforce client programs are available from the Perforce Downloads page.

 

How to Contribute to the Public Depot

Back to
Table of
Contents

Registering

  • To contribute to the Public Depot, you'll need to become a registered user. To apply, please send email to opensource@perforce.com, describing the tools, scripts, or documents you'd like to contribute. You must provide your full name, which we will use to assign your Perforce user ID. (E.g., if your name is Sammy Davis, Jr, your user ID in the Perforce Public Depot will be sammy_davis_jr.)

 

Client Setup

  • If you're not already using Perforce, you'll need a Perforce client program for your development platform. Go to our downloads page and download the client for your platform.

  • Follow the instructions in the tutorial to set up a client workspace with a guest branch view for yourself.

 

Submitting Files

  • You are free to submit any files or changes to your guest branch. If you're new to Perforce, see the tutorial for a guided example of how to work on files.

  • When you have something in your guest branch that is completed and ready to be integrated into the public branch, please email the curator of the project you're targeting. Curators are listed in the index.html files at the top level of each project (see the Depot Roadmap, above). The curator will review your files and integrate them into the public branch.

 

Notes on Access Permissions

  • There are two depots in the Public Depot: //public and //guest. All users, registered or not, have read access to all files in both depots.

  • All users have read access to all changelist descriptions, user specs, client specs, etc.

  • Only registered users have write access, and only to the files in his/her guest branch. (That is, you can only submit files in the //guest/your_name path.)

  • Only Perforce staff, and "curators" designated by Perforce staff, have write access to files in the //public depot.

 

More Information

 

Subscribing to Change Notifications Via Email

Back to
Table of
Contents

There is a Perforce change review daemon for the Public Depot. You can configure your Perforce User Specification so that you will be notified about changes submitted by others to the Public Depot, either for the entire depot, or any subset of files kept here.

The basic procedure is to edit your Perforce User Specification, adding a "Reviews:" field, with entries to select the paths within the depot of files you are interested in. When a change affecting such files is submitted, you will be notified via email. You must also have the Email: field in your User Specification correctly set to the address where you want notifications to be sent. (You can edit your User Specification using the p4 user command from the command line client).

For example, to "subscribe" so that you will be notified about all changes affecting anything under //public , or any changes that affect any files in directories named "cvs2p4" (anywhere in the depot), you would set your User Specification to include:

Email:  your email address

Reviews:
        //public/...
        //.../cvs2p4/*

The Public Depot review daemon will also allow the person submitting a change to include additional addressees for a particular change notification, by including a one or more lines of the form

Description:

	cc: address [ address ... ]
in the Description field of either the Change Specification for a given change, or of the Client Specification of the client from which the change is being submitted.


Copyright ©
1998, 1999
Perforce Software
You're browsing a file stored as
$Id: //public/index.html#34 $
in the Perforce Public Depot.
Back to
Table of
Contents