Reintegrate Partially Reverted Changes in Perforce - perforce

I have these branches:
//mainline
//branch1
//branch2
branch1 is a large set of changes to mainline.
branch2 was created from:
Integrated from mainline
Integrated from branch1 to get the large changes
The files were resolved
Many files were reverted because I just wanted a subset of the changes from branch1
The changes were submitted
Eventually branch2 was integrated back into mainline.
branch2 was deleted
Now I need to integrate branch1 into mainline. When I do the integrate in p4v, it misses many of the files because it thinks they were already integrated from branch2 (even though I reverted them). If I "force" integration it thinks every single file (of 8000+) has changed.
How do I make perforce integrate all the changes in branch1?

You can choose the range that you want to integrate, in combination with the "force" integration option. You need to expand the "Limit the range of the integration" section in the Integrate dialog.

Related

Perforce: Integrate into earlier revision of target branch

usually perforce integration is to merge code from some revision of source branch to LATEST revision of target branch.
Is there a way to merge code to a specific earlier revision of target branch?
Of course, it's still needed to sync to latest revision for submitting the code.
I think you can sync to the revision you want to integrate to, then run an integrate -h (have revision). Should be one of the checkboxes in the integrate dialog. Or just do it from commandline.
Then once you've done the integrate and resolve, you'll likely have a sync to head and another resolve to go through, but that ought to get you were you want to go.

How to create a pending changelist using Perforce Fusion

I want to switch to Perforce Fusion to use git with Perforce. As I understand, whenever I push a commit it creates a submitted changelist on the Perforce server. Is there any way to create pending changelist from git?
Git Fusion stick's to Git's all or nothing approach when dealing with pushes.
Either all of the commits that make up a push make it in to the Helix Server (P4D) or none of them do.
It therefore does not provide an option to store Git Commits in pending changelists, because then the chance of commits that make up a push being split up or becoming out of order would be greatly increased.
Hope this helps,
Jen.

Proper way to ignore source files during Perforce integration

In my primary branch there is a change list with 10 files that I'm trying to integrate into a development branch. All of the outstanding files in the change list should be ignored, and not branched into the target.
What are the steps to do the integration so that Perforce does not create the files in the target branch, and ignores the change list files for all future integrations?
I originally did an integration with -Dt, and then reverted the 10 files I did not want to be created in the target branch. After this, Perforce continues to try and re-integrate these files to the target.
Maybe this is part of the issue or irrelevant, but the source files are not textual edits, but updates to the filetype fields
Integrate the file, then do 'accept yours' when you are resolving. That tells the server that you want to explicitly ignore the change from the other branch, and the server won't subsequently include that change in future integrations.
This worked for me:
p4 integrate -Rb -Rd -b <branch>
Then in P4V, Resolve --> Accept Target.
See here for information on the -Rb and -Rd options.

How do you revert a file to a revision within an integration in Perforce?

I have two branches, let's call them mainline and dev1. I regularly integrate a file from mainline to dev1. The last-but-one time I integrated the file, it was at revision 3 in mainline. The last time, it was at revision 5.
Now for mysterious reasons lost to the sands of time, I want to work in dev1 with revision 4 of the file from mainline. Is that possible?
I can't integrate it across as P4V complains that all revisions have already been integrated.
I've tried right-click->get this revision on the revision graph, but that only updates which version of the file I have in mainline, not in dev1.
You can force an integration regardless of the integration history. On the Integrate options dialog there is a button labeled "Advanced Options".
On the Advanced Options dialog, check the option to "Force integration on all revisions, disregarding integration history (-f)". This will allow you to get revision 4 of that file from mainline into dev1.

subversion merge trunk -> branch: trunk changes not recognized

I'm in a pickle. I'm using SVN 1.5 at Beanstalk and Tortoise SVN client 1.6.11 x64 on Windows 7.
I'm developing on a branch and have been merging changes from the Trunk into my branch at least once a week. I recently noticed some things weren't working as trunk changes didn't make it into my branch. When I try to do a merge, Tortoise acts as though there are no changes in the trunk to merge. The Test Merge shows no files being added or updated.
I tried to merge my branch back to the trunk, but got a message saying that my branch wasn't up to date and told me to merge a range of revisions from the trunk.
I really don't want to do this by hand. How can I tell Tortoise and/or SVN that my branch is not up to date?
I still don't know what caused this to happen, but I did manage a work around. I instead did a backwards "reintegrate a branch into the trunk". This seemed to work good enough, but not perfect.

Resources