Monday, 31 January 2011

Perforce, Depots and Workspaces

I have started using Perforce Source Control recently and having previously used Visual Sourcesafe and Subversion (with Tortoise in Windows), I thought it would be a pretty straight swap but being new to depots and workspaces is very confusing so I thought I would provide an idiots guide from someone who doesn't understand enough of it to make it confusing (yet!).
  1. The depot is the repository on the server but filtered to only show the section from your CURRENT workspace
  2. The workspace shows ALL of your workspace files from ALL of your workspaces including files/folders that are not present in the depot.
  3. You should create an "ALL" workspace to include the entire depot so that you can always browse to something you haven't got and "Get latest Revision"
For example, suppose you have a depot with folders named A, B, C and you want one workspace for working on A and one for B. You would need to create, initially, an "ALL" workspace including everything. If you click on the depot tab with this workspace selected, you will see A, B and C. On the workspace tab - at this point - you will have nothing because you haven't taken any files.
Imagine you now create and select a new workspace pointing only at A, on the depot tab now, you will only see A and after right-clicking and "Get Latest Revision", your workspace tab will now show A even if you change workspace.
Do the same for B and you will now see A and B in your workspace and B in the depot if that new workspace is selected:






Workspace selectedDepotWorkspace
"ALL"A,B,CA,B
AAA,B
BBA,B

It is a little confusing but hey, if you have to use it, you have to use it!
Post a Comment