zenspider.com by ryan davis

Source control is a system for managing change in files over time. I use it for nearly everything I write or edit. It just makes sense once you start to do it. You can see the changes over time, roll back to previous versions, recover something you lost, etc etc etc. This document describes the scheme I use to manage my software, website, UNIX setup, and just about everything else.

Basic Overview

First, I will simply refer to the experts because they know much more about it than I do. I use perforce for all of my source revision control. It is a normally expensive commercial product but they offer licenses for free for open-source development. Nearly everything I do is under the MIT license, so I opted to use it. It is highly superior to everything else I’ve used, especially with regard to branching, which I will describe in full below.

Details

I have one perforce server on my system with one repository. It contains several depots that I have separated by branching policy and content. I have four depots:

Each depot has it’s own branching policy:

As such, the general structure of the repository looks like:

//src/$pkg/dev/… /$ver/… //usr/$user/… //www/$domain/… //doc/…

Requirements:

Compatibility

Perforce runs nearly everywhere.

Code

There is no code. This is mainly a process document.

Crontab

None