I just wanted to ask, if there is any progress with this issue or consensus what and how to do to prevent this mess. I'm asking because I want to use replicas in a similar use case as described except that we actually are geographically dispersed and have a high latency WAN and am kind of afraid now
.
Good morning, ebeb.
The consensus, if there is one, seems to be to use XMI compares to resolve conflicts. I found that that kinda, sorta worked, but not really, then I ran out of time to work with it (or to document it in a way that I could intelligently discuss the shortcomings). Basically, I had to pick an interim solution, and get back to work on the project.
I found that after merging the replica back into the master, all of the conflicts were in the replica, and none were in the master. So, the other software engineer and I checked the master to verify that at least the easily-visible stuff was as it should be (attributes and methods of classes, links between classes), then we discarded the replicas and generated new ones. We have been working with those since then and so far, so good.
We have resigned ourselves to the fact that we can no longer trust the EA database as the final authority on the system. Our ideal solution would have been to make all changes in the model and then generate new code and it would Just Work. That's no longer possible (if in fact it ever was), and so we're considering the code as the final authority, making all necessary changes in the code, and then re-sync'ing the code back into the model. Come design review time, we'll have to manually inspect all aspects of the model to make sure it represents the real world (code) rather than inspecting the code to make sure it accurately represents the model. Kind of a backwards way of doing it, and not what I wanted, but it's working that way and it's not a huge amount of extra work.
What I would really, Really, REALLY like, in EA 7.6, would be that in the event of conflicts after merge, I call up the conflicted diagram and I see the master version of the conflict in one color and the replica version of the conflict in another color. Then I could just select and delete the things that are incorrect and keep the things that are correct, then save the diagram and the problem is solved.
Maybe the Sparxians will do something like that...