views:

241

answers:

1

I am in the process of switching to AccuRev from another SCM. I have quite a few projects and am struggling how to properly lay them out in AccuRev.

I have quite a few related projects and would like to keep them in a single depot, but I haven't found out how to separate them so you can keep track of individual projects. In other words, I don't want to have to pull every project at once.

My project layout now is

-Project Group
  - Sub project 1
  - Sub project 2
-Project 2
-Project etc...

Does anyone have suggestions how to manage these projects in a single depot or should I just go with multiple depots (one for each project)?

A: 

The concept in Accurev is that the root of your depot represents all of your source code.

You then create per-project streams (branches) where work is performed, and which themselves may split into further streams (patches, revisions etc).

Users then attach their individual workspaces to these streams and promote changes with their work. These changes are then propagated up the hierarchy as necessary.

Each stream has the ability to filter our content from its parent. This filtered content will be invisible in all child streams or workspaces.

So in your example the users working on "Project 2" would create a "Project 2" stream from the depot, and this stream would filter out "Project etc" and so on.

The best hierarchy I have found for Accurev is something like;

  • Projects
    • Project A
    • Project B
  • Common
  • Middleware

Each project then has their own stream that filters out other projects but still keeps the common files.

Accurev is very different to many other SCM packages but it really is an excellent excellent product so stick with it.

Andrew Grant