[p4] exclusive checkout across branches

Ken Williams ken.williams at thomson.com
Mon Jan 8 14:59:50 PST 2007


I think a better approach would be to only keep such files in one place in
the repository, and map them into multiple clients.  It seems like that's
the behavior you're trying to emulate anyway, so why not just set things up
that way?

 -Ken


> From: Jeff Grills <jgrills at junctionpoint.com>
> Reply-To: <jgrills at junctionpoint.com>
> Date: Mon, 8 Jan 2007 11:24:54 -0600
> To: <Jamie.Echlin at barclayscapital.com>, <perforce-user at perforce.com>
> Subject: Re: [p4] exclusive checkout across branches
> 
> 
> I wanted this sort of feature for a while for some files that can not be
> merged, but realized it was insufficient to solve the problem I had hoped it
> would solve, and I suspect the same may be true for the majority of people
> in this scenario.  If the file is checked out in one branch, modified, and
> then submitted, then the file should not be modified in another branch until
> all the changes have been integrated into that branch.  Since the file has
> already been submitted in the first branch, a user would be able to modify
> the file in a second branch because the file is no longer checked out in any
> branch to fail any sort of exclusive checkout test.  Eventually, the two
> separate modifications will be integrated to the same branch with no way to
> merge the changes to resolve the conflict.  You really need to check for any
> unintegrated changes in any of the other branches before allowing the user
> to check the file out for edit - that's not something you'll be able to do
> with the protection table, so you'd have to implement it in a trigger, and
> that trigger will have to understand your branching structure in order to
> correctly check all the other branches.  I suspect this would be a
> reasonable amount of perforce scripting work to accomplish the feat.
> 
> j
> 
>> -----Original Message-----
>> From: perforce-user-bounces at perforce.com
>> [mailto:perforce-user-bounces at perforce.com] On Behalf Of
>> Jamie.Echlin at barclayscapital.com
>> Sent: Monday, January 08, 2007 5:32 AM
>> To: perforce-user at perforce.com
>> Subject: [p4] exclusive checkout across branches
>> 
>> Sorry for all the traffic, trying to bring myself up to speed.
>> 
>> A group has certain files that should be "exclusively lock",
>> including across branches. This is particular named files,
>> not all having a certain extension or anything so simple.
>> 
>> I guess an implementation option is using +l in the typemap,
>> and protections file to make read-only everywhere except the
>> main branch. I don't want to do this because I'm wary of
>> adding many rows to protections, also I want something
>> whereby they can make changes to this list without having to be admin.
>> 
>> I guess many people have this sort of requirement, any suggestions?
>> 
>> My preferred option is a trigger which would read a
>> project-supplied file containing list of "special access
>> rules", ie depot path patterns and rules. However the trigger
>> would only fire on submitting the changelist, not when they
>> make the checkout. I prefer a trigger because it allows us to
>> provide some explanation of the failure - eg please make
>> these changes in this branch..., as opposed to using the
>> permissions table which would just say "access denied"...


More information about the perforce-user mailing list