6 messages in com.perforce.perforce-user[p4] Integration Help
FromSent OnAttachments
CodeCheckin CCSS28 Jun 2001 20:39 
Dave Lewis02 Jul 2001 11:02 
Jonathan Arnold02 Jul 2001 11:17 
Jeremy Russell02 Jul 2001 11:25 
Jeff A. Bowles02 Jul 2001 11:56 
Jo Woodison03 Jul 2001 05:46 
Subject:[p4] Integration Help
From:Jeff A. Bowles (ja@piccoloeng.com)
Date:07/02/2001 11:56:10 AM
List:com.perforce.perforce-user

If you were on the most recent release, which just came out, I'd be tempted to "p4 obliterate" the individual revisions that the developer checked in, which will also remove the integ records he created as part of it, then proceed from there.

I would then revoke "write" permission from that guy for any codeline I cared about.

["p4 obliterate" is truly ONLY for mistakes, not for routine things. In this case, it could help a great deal.]

If you're on an earlier release, which is likely, then doing an "p4 integrate -f" from the dev line to the main line might help. I'd ask Perforce Tech Support for a bit of help.

A while back, I wrote a trigger (that used 'p4 integrated' and 'p4 resolved') to decide, AT CHECK-IN TIME, that the integrations followed certain paths, like "user -> dev" and "dev -> main" and "main -> release2.0" (and perhaps the other direction) but no other directions, e.g. not "user -> main". I don't have the script around anymore, but it wouldn't be too difficult to write. Sounds like you could use that, to detect when people are doing integrations that aren't from a parent -> child or child->parent.

-Jeff Bowles

At 11:26 AM 7/2/2001 -0700, Jeremy Russell wrote:

I have a user who branched from a development line (//depot/dev/...) into a personal branch (//depot/user/...). Fine.

Background Info "user" is a branch of "dev" "dev" is a branch of "main"

A couple of weeks ago we froze the "dev" branch. I told everyone to get all check-ins into the "dev" branch prior to its impending death. Everyone did except for the user on the branch. Normally I could just do normal integrates from "user" into "dev" into "main". But...

The user got to the integrates before I did. He has now updated "dev" from "main". He then updated "user" from "dev". He has done this twice since the first attempt at an integrate did not work. So now I have the Perforce server thinking that full integrates have been done and neither "dev" nor "user" are correct. The "dev" branch is now an exact copy of "main". We have backed out the changes in the "user" branch by submitting previous revisions of a files.

Since Perforce keeps integration records, I am not sure where to go from here. I need to get the changes from the "user" branch into "main".

A simple "p4 integrate //depot/user/... //depot/dev/..." and then "p4 integrate //depot/dev/... //depot/main/..." will not work because of all the previous integrations...I think. Can someone help me out here?

Current state: "user" branch in pre-integrate state with two integrates in the history. "dev" branch is an exact copy of main due to a "p4 integrate -f"

I am unsure of how to proceed. Do I get the "dev" branch to its previous pre-integrate state and then integrate the "user" branch in at that point? Any advice would be greatly appreciated.

Users were never supposed to be doing these types of integrates...Another broken policy.

Jeremy Russell ReShape, Inc. <mailto:jrussel at reshape.com>jrussel at reshape.com