Author Topic: Exporting, importing and merging XMI files  (Read 3891 times)

Wowbagger

  • EA User
  • **
  • Posts: 69
  • Karma: +0/-0
    • View Profile
Exporting, importing and merging XMI files
« on: August 26, 2009, 07:02:48 am »
Since EA doesn't understand GIT, and that's how we store things, I am trying to see if I can make it work manually I'd appreciate any help anyone can give.

What I am doing is:
1) Create model in EA.
2) Export package(s) to a working directory as XMI.
3) add those packages to the Git repository.
4) Other architects then check out that directory from the repo.
5) Other architects import the XMI files into EA.
6) Other architects modify the models.
7) Other architects export the models back to the XMI files.
8) Other architects commit their files to GIT.
9) I pull their changes from the GIT repo into the XMI files
10) I import the XMI back into my EA model.

Lather, rise repeat.

However, things blow up at step 9 when I have local changes and they have changes: due to the way the XMI files are written Git is unable to resolve and merge the changes, and I am left with an XMI file full have conflicts.

My questions are:
1) Is there a better way to get EA to play nice with GIT?
2) If not, is there a better way to export the models to make merging easier?
3) If not, is there a better way to have EA handle merging the XMI files?

RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1297
  • Karma: +21/-4
  • Read The Help!
    • View Profile
Re: Exporting, importing and merging XMI files
« Reply #1 on: August 26, 2009, 08:59:36 am »
Have you already considered the Compare utility in EA, where you can compare an external XMI file with the equivalent package (or model)?

Look for Diff Utility in the product Help index.
Best Regards, Roy

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13404
  • Karma: +567/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Exporting, importing and merging XMI files
« Reply #2 on: August 26, 2009, 04:02:01 pm »
As long as you go with the exclusive checkout you should be fine (no need to merge things)
The Compare utility in EA works fine, but it still requires a lot of manual work sifting to the myriads of changes.
You might want to look into the controlled packages feature. That is a feature in EA wich allows to to control package in xmi files, but without an integration with a VC package.
I'm guessing that a combination of the controlled packages and manually checking in/out those xmi files could give you a workable workaround.
(we used to have a similar setup using rational rose long ago, but of course that tool used files as storage, not a database)
If that would not be enough locking the packages using the security feature might also help. (if you are using a shared model that is)

Geert

Wowbagger

  • EA User
  • **
  • Posts: 69
  • Karma: +0/-0
    • View Profile
Re: Exporting, importing and merging XMI files
« Reply #3 on: August 26, 2009, 11:04:10 pm »
Quote
As long as you go with the exclusive checkout you should be fine (no need to merge things)
The bad thing is that I have reasons to have multiple people working on the elements within the project, which is why I am using a distributed VCS (git).
Quote
The Compare utility in EA works fine, but it still requires a lot of manual work sifting to the myriads of changes.
I'll look into that.
Quote
You might want to look into the controlled packages feature.
That is what I am doing: each sub-section of the project is a controlled XMI file.

The problem seems to be that when the XMI files are regenerated from the package, the XMI file is being changed in ways above and beyond the actual changes in the model: in other words, if Programmer A adds a requirement, and Programmer B adds a use case, rather than the XMI files being changed only to the extent needed to represent those changes, the files are being changed all over the place, preventing GIT from being able to merge what ought to be two orthogonal changes.