11 messages in com.perforce.perforce-user[p4] How to handle "closed" branches
FromSent OnAttachments
Ulf03 Mar 2004 12:38 
ste...@vance.com03 Mar 2004 15:12 
Ulf03 Mar 2004 15:26 
jab03 Mar 2004 15:58 
Gordon Broom03 Mar 2004 16:00 
Ulf03 Mar 2004 16:24 
Craig Allsop03 Mar 2004 18:21 
Chuck Karish04 Mar 2004 07:49 
Chuck Karish04 Mar 2004 07:58 
Grills, Jeff04 Mar 2004 09:55 
Chuck Karish05 Mar 2004 09:08 
Subject:[p4] How to handle "closed" branches
From:Gordon Broom (Gord@pwrm.com)
Date:03/03/2004 04:00:13 PM
List:com.perforce.perforce-user

This is our current thinking on this topic. We are (or will be very shortly) struggling with the same problem.

There are really 3 phases of life for a development branch: - active - retired - obsolete

Active development branches are, obviously, where the active development is taking place. A retired development branch corresponds to an active *release* branch. Development has been completed, and the code has been released to test or released to production, but you may still want to mine the metadata from the development branch. An obsolete development branch is for an older release, and its metadata is only of use in specific circumstances (to "historians"). Once a development branch is retired, all write permissions would be removed (but developers would still be allowed to read/open). When it moves to the obsolete state, list permissions are removed (except for historians).

We'd also use a non-flat hierarchy under //depot/dev (e.g. //depot/dev/2004/March/my-project/...) to limit the number of sibling branches visible.

This is not yet a best practice, we are still developing it.

All I know is that it's a Really Bad Thing to delete the closed branch, since deleting is an operation on the branch data and hiding the branch is something you want to do to the metadata. You could obliterate, but that's even worse: you've lost all the history, it's as if that branch never existed. So neither operation is appropriate. I think removing "list" permissions is the closest thing to what you're looking for, semantically.

How does everyone else do this?

-----Original Message----- From: Ulf [mailto:ulf at ulfkristen.com] Sent: Wednesday, March 03, 2004 12:38 PM To: perforce-user at perforce.com Subject: [p4] How to handle "closed" branches

Hi All,

I have another question regarding branching strategies in Perforce. I'd like to structure my depot following the Perforce "Software Life-Cycle Modelling" paper as follows:

//depot/ main/ dev/ bugfix/ release/

Here, main/ contains the mainline and dev/ all the development branches.

The dev/ directory will quickly fill up with directories as new development branches are created. Ideally it would be nice to only see *open* development branches when you browse the dev/ directory. How do you handle this? Do you delete a closed branch? Do you move it to a "closed/" directory? Are there better solutions?

Thanks,