Book a Demo

Author Topic: Versioning and Database - how to ?  (Read 4253 times)

thedrake

  • EA Novice
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Versioning and Database - how to ?
« on: March 30, 2009, 09:02:39 pm »
Hello,

I read the white paper on setting up Version Control and Deployment of EA, but I have some questions..

How do you use a Database and SVN at the same time ? Because of the DataBase, the users have always the last version, so what's the point to check out ? (yes, to have the last version 'saved' but because it's optional, they won't necessarily do it).
And I didn't find a way to retrieve an old version when working with a Database.. This option is grayed (it's better in a way that when you retrieve an old version, the Database will be changed to this version also !)

So, do I use the deployment correctly ? What's the best way to save the state of the database ?

Thank you for your analysis  :)

thedrake

  • EA Novice
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Versioning and Database - how to ?
« Reply #1 on: March 30, 2009, 09:14:24 pm »
Ok no, I couldnt retrieve an old version because I checked Out (Still don't understand why you can retrieve only after check-in btw)..

So now I retrieved it but I can't modify it unless I check out...which means going back to the last version !! What's the point of retrieving an old version in this case ?
I am still wondering if I am using this correctly.

PS : i'm versioning the entire model (root).. maybe I should work with little packages..
« Last Edit: March 30, 2009, 09:27:41 pm by thedrake »

Krzysztof Swiatkowski

  • EA User
  • **
  • Posts: 76
  • Karma: +0/-0
  • Understanding is a three-edged sword
    • View Profile
Re: Versioning and Database - how to ?
« Reply #2 on: March 31, 2009, 02:22:32 am »
EA uses pessimistic locking and that is probably why it does not allow to get old version while package is checked out.
Getting an old version for modifications means one of two things:
1. you did something you didn't want to
2. you want to modify and older version of the model in paralel without changing your current version.
Regardless of the way you work, if you want to revert to an old version of the package/model than do it in version control system and then read into the database.
If you want to work on paralel versions create a branch and second database schema to import it into. Remember though that it will be very complicated to merge your branch with the trunk.

regards
Kris
If I put you finger in the eye
then you have finger in the eye
and I have finger in the eye
but it's not the same

thedrake

  • EA Novice
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Versioning and Database - how to ?
« Reply #3 on: March 31, 2009, 03:48:56 am »
 :-/

dzi[ch281]kuj[ch281] barzo ! (slovenskooo !)

Dermot

  • EA Administrator
  • EA User
  • *****
  • Posts: 591
  • Karma: +7/-0
    • View Profile
Re: Versioning and Database - how to ?
« Reply #4 on: March 31, 2009, 12:33:34 pm »
Hello Ged,
Regarding your last point  - the "Baseline, Difference & Merge" supports this. Create a Baseline of the "branch" and then open the "main" and using the baseline-merge (load from other repositories) to merge the two.
« Last Edit: March 31, 2009, 12:34:18 pm by Dermot »

thedrake

  • EA Novice
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Versioning and Database - how to ?
« Reply #5 on: March 31, 2009, 09:02:03 pm »
Well, that seemed like a great idea, so I tested it..
But when I merge, it just goes back to the baseline state (suppressed elements/diagrams are back, new elements disappear, changes to existing elements are discarded...).

I diffed the baselines and right click 'Merge from Baseline'... But it seems to act like 'Restore to baseline'... Am I doing this right ?

Dermot

  • EA Administrator
  • EA User
  • *****
  • Posts: 591
  • Karma: +7/-0
    • View Profile
Re: Versioning and Database - how to ?
« Reply #6 on: April 01, 2009, 12:12:56 pm »
Your Copy model should be where the modifications are made.
This is where the Baseline is created at the end of making changes.  
The Original is where you "merge a Baseline" Loaded from the updated Baseline in the Copy.