Author Topic: How do you put models under configuration control in environments like Git?  (Read 5228 times)

mse

  • EA User
  • **
  • Posts: 303
  • Karma: +1/-0
    • View Profile
After working for some time with a cloud connection and being frustrated with the very slow performance, I am exploring my options of simply saving the packages to file and putting them in Git configuration control. Is it as simple as simply writing the packages to a file using the export option in EA? Or are there other methods? I see there is a dialog for using other versioning systems, but those are for other environments. I need one specific to Git.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13387
  • Karma: +566/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: How do you put models under configuration control in environments like Git?
« Reply #1 on: September 25, 2024, 12:01:51 am »
You can't directly use Git because it doesn't support exclusive locks. Only SNV and TFS (Azure Devops), CSV and the generic one.

But you can still control your packages, and use batch xmi export for all your controlled packages.
It's not the same as real version control integration, but it can work (if you are the only user)

Geert

Takeshi K

  • EA User
  • **
  • Posts: 588
  • Karma: +38/-1
    • View Profile
Re: How do you put models under configuration control in environments like Git?
« Reply #2 on: September 25, 2024, 09:30:13 am »
You should check out the LemonTree, it works perfectly with Git.
--
t-kouno

Elpis

  • EA User
  • **
  • Posts: 47
  • Karma: +7/-0
  • Make MDA/MBSE vital.
    • View Profile
You can't directly use Git because it doesn't support exclusive locks.
Not exactly - see https://github.com/git-lfs/git-lfs/wiki/File-Locking .

However, EA doesn't support the Git. You may try to search for SVN-to-Git adapters, if you really has to stick with Git for that purpose. But IMHO it is not worth of fighting with (expected) problems.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Basically a model and code are as similar as fire and water. What works for code does not for models. Changes in code are for small distinct areas. But in a model a single change might affect the whole hing. A commit message "added connector from A to B" is pretty pointless since that change will usually be the end of a along discussion with lots of reasoning.

You might consider snapshots. Though rolling back in most cases is just a PITA. A model is a complex thing at any point in time. It's that one you can deal with and discuss.  A pletora of branches is just not manageable.

Of course YMMV

q.