I have done a lot of changes on one branch (a whole redesign, including many different workflows), and now Bubble’s merging tool is not able to do the merge properly:
First problem is that my computer crashes nearly all the time when beginning the merge (but I succeeded twice…),
But then I have about 1000 ‘conflits’ to solve manually…
And then last step (I’ve gone to this step once): even if I pass all the steps of the merge and the merge is ‘completed’, there are a lot of things that don’t merge correctly (many inputs/workflows that disappear, etc.)…I have about 700 errors that should be there…
So my question is: do you know if Bubble technical internal team can do a merge on their side for big merges?
If not, do you have a solution to make the big merges work properly?
And if still not , do you know any good tool/plugin to copy/paste a batch of reusable elements at once? And if possible same for option sets (and data types)?
I’d say prevent the problem in the first place is preferable:
Try to keep making incremental merges.
Figure out your version control strategy. I’d separate out your branches, e.g. “Main” is stable, “Feature 1” is where you merge stuff into each day, “Feature 1a” (child of Feature 1) is where you do the work.
Sometimes (caveat: this will need lots of manual cleanup of your app later)… create a second page (e.g. page_v2) while you do massive changes. Then discard _v1 once you are ready.
But now you are in this tight spot:
Block out 12 hours and drink lots of coffee.
Create a new branch and carefully hand copy over parts of your existing branch e.g. data structure, page elements, workflows, styles, etc.
Other thoughts:
Periodically clone your whole app as a reference for later.
You can put an emoji in data and element names prior to deleting them, to make old stuff easily visible.
Try to make sure your app’s JSON file doesn’t get too big, or the editor will slow down/crash. We usually see this happen when we take on existing apps where they have used “copy and paste” to unnecessarily duplicate elements/workflows that should be programmed dynamically instead of hard coded.