[p4] What is a "Shelf"

Jeff Grills jgrills at drivensnow.org
Wed May 16 20:05:17 PDT 2007


I'm not sure that's always possible, and certainly not always affordable.
I've seen an environment with 120,000+ files per branch, and integrations
between branches that took 10-15 minutes and basically locked up the server
during that time.  This was a couple of years ago, so perhaps newer versions
of p4d handle huge integrations more gracefully now.  Does anyone do
integrations of that magnitude with significantly better performance these
days?  It would be nice to know, since I can foresee a time in the
not-so-distant future when the project I am currently working on reaches
that size and we start creating branches for test candidates.

Personally, I wouldn't mind an operation like that taking 10 minutes if the
server was otherwise responsive during that time. 

j

-----Original Message-----
From: perforce-user-bounces at perforce.com
[mailto:perforce-user-bounces at perforce.com] On Behalf Of Chuck Karish
Sent: Tuesday, May 15, 2007 10:06 AM
To: Jamie.Echlin at barclayscapital.com
Cc: perforce-user at perforce.com
Subject: Re: [p4] What is a "Shelf"


I'll hazard a guess that your team needs a more powerful server system.
More memory, more and faster processors.  If branching works well for you,
get the resources you need to be able to use it.

On 5/15/07, Jamie.Echlin at barclayscapital.com
<Jamie.Echlin at barclayscapital.com> wrote:
> The reason we are introducing shelving is because of performance 
> issues with traditional private branches. A certain very large library 
> here has about 120 private branches, and each integ and preview integ 
> is taking up to 10 minutes, during which time the perforce server is 
> unavailable to everyone else.
>
> We're hoping that shelving will have the same benefits as private 
> branches but without the major performance problems. We looked around 
> at what was available but wrote our own on the .net platform in the 
> end, so far we're quite pleased with the results.
>
> I prefer a shelf to a private branch because it's very easy to see 
> what the shelf contains - no need to do a preview integ or diff2 - and 
> as other people have said it's easy to share unstable code, people can 
> unshelve from other people's shelves etc.
>
> Cheers, jamie



More information about the perforce-user mailing list