[p4] What is a Shelf

Robert Cowham robert at vaccaperna.co.uk
Fri May 18 02:29:54 PDT 2007


Some good thoughts.

I certainly wouldn't encourage shelving via branching without tool support,
and would start with Chris Stoy's example. Sparse branching via a tool is
just as easy as doing p4tar or code pickle, and would take no longer (you
can locally copy/flush etc, so only overhead is a submit of branched files).

Re the Unix/Windows developers I certainly find it easier to train Unix
people - if they can cope with Unix they already have a leg up in a variety
of concepts I find.

Single humongous workspaces are a bit of a problem though (over time) - I
would really be looking to change working practices if that is going on.

Mind you, with things like Visual Studio and other IDEs, there isn't really
any support fro branching - perhaps an opportunity for a branch aware
plugin?!

> Let's sum this up...
> 
> A shelf appears to be a way to save the state of a work area, 
> and possibly to share this state with other users for code 
> review purposes.
> 
> It is possible to use a branch as a shelf except there is a 
> lot of overhead when you branch and that could tie up the 
> project for a long time. This is especially true if you 
> branch every file in your view.
> Sparse branching might work, but Perforce isn't really 
> designed for this.
>
> This sounds like one of those "PC" vs. "Unix" divisions in 
> the way developers operate. PC developers prefer a single 
> workspace that contains EVERYTHING. All branches, all code 
> lines, etc. P4 developers like to be able to open up a single 
> workspace in P4V or p4win, and not worry about switching 
> since switching involves bringing up another dialog box.


More information about the perforce-user mailing list