[Under Investigation] Force merge branches


Is it possible to force merge a branch. I have now in multiple occasions seen differences between branches that the version control system have not picked up on. The only way I can get a branch up to speed after this happening is by making a new branch, merging both branches into it and then deleting my old work branch.

The diff tool will find the differences but merge wont and its getting quite irritating.

CC’ing @zpaul

Are the differences specific to an asset type or change?

As a troubleshooting step, are the changes made recent and committed to a checkpoint before merging on both the target and source branch? (ie, does this happen when you tick both the create checkpoints boxes on this dialog?

When I diff the last checkpoint on both branches I get 133 changes in the mainLevel, and a single script change but the merge finds nothing, I have tried creating a new checkpoint on both branches, both throug the version control system and manually.

Can you branch the source and target branches off for me to take a closer look at please (eg syau-source and syau-target)? And DM me the new branch names and project URL.

1 Like

Bug has been reproduced and is send to Playcanvas team

I’ll take a look but this can be normal behavior (same as git): if an item X with id A in the source branch is the same as in the common ancestor checkpoint, there will be no changes to X in the destination branch after merge, even if it’s not equal to the item with id A in the source branch.

That is why I’m requesting a force merge feature.

Just to check, you would override all changes in the target branch since the checkpoint the source branch was created?

Would you like your destination branch to become identical to the source branch after a force merge?

I would love for force merge to show all changes in the merge overview. Its a bit scary that some development branches comes further and further away from master without any information about that.

I’ve spoken to Mads_Nielson directly to go through the changes. There was confusion on which branch the changes were made when diff’ing between two branches.

They also explained the context for needing the force merge and I’ve created tickets/features requests based off that:

1 Like