Book a Demo

Author Topic: SVN check out deletes all DB elements first.  (Read 6595 times)

shimon

  • EA User
  • **
  • Posts: 172
  • Karma: +6/-0
    • View Profile
SVN check out deletes all DB elements first.
« on: February 11, 2014, 07:19:49 pm »
Hi all,
We are implementing a Oracle DB based repository for +100 users. We are using a SVN repository for Version Control and user group access.
When doing a check out, EA first deletes all elements and overwrites them with the content of the relevant XMI file, then checks out the file and after that releases the elements in the DB for change.

I would understand the necessity for all these steps if I would be using a Master + Replica scheme.

Why is this necessary when using a central database? If the XMI is the same version as on the SVN server the XMI and Oracle DB are definitely in synch.

Am I missing anything?

Is there any way to change this behavior?

Thanks for any input,
Shimon


  

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: SVN check out deletes all DB elements first.
« Reply #1 on: February 11, 2014, 09:59:38 pm »
That's simply how it works. You could think over using some different configuration.

q.

shimon

  • EA User
  • **
  • Posts: 172
  • Karma: +6/-0
    • View Profile
Re: SVN check out deletes all DB elements first.
« Reply #2 on: February 12, 2014, 01:13:20 am »
Thanks qwerty. I did find what seems as a practical solution. Suggest that users work offline and connect only to check in.

When working offline, the checkout is instant because it only registers the lock on the DB.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: SVN check out deletes all DB elements first.
« Reply #3 on: February 12, 2014, 01:21:23 am »
Yep. There are a couple of ways to implement shared work. And it takes a while to find the solution that fits best.

q.

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: SVN check out deletes all DB elements first.
« Reply #4 on: February 12, 2014, 07:00:27 am »
I fully agree with q.

Finding the right solution for 100 or so modeler isn't a trivial task. There are a lot of pros & cons with each solution.

Helmut
Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: SVN check out deletes all DB elements first.
« Reply #5 on: February 12, 2014, 08:55:32 am »
Quote
Why is this necessary when using a central database? If the XMI is the same version as on the SVN server the XMI and Oracle DB are definitely in synch.

Even with a shared repository it's possible that there is another shared repository on the other side of the world, or someone that has made a change in a private file and checked it in.

On the other hand, it should at least be possible to detect that there are no other changes.

shimon

  • EA User
  • **
  • Posts: 172
  • Karma: +6/-0
    • View Profile
Re: SVN check out deletes all DB elements first.
« Reply #6 on: February 12, 2014, 05:46:14 pm »
Hi Simon,
You're right, and I'm aware that even if I use a DB, others can use the same SVN repository in EAP based models or even in another DB based repository.

I guess my question is really, why there is no mechanism to track a controlled unit to the version number of the file or files corresponding to it.

When I wrote the post I didn't really think through all the options and possibilities.

Sincerely,
Shimon J.
« Last Edit: February 12, 2014, 08:55:51 pm by shimonmx »

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: SVN check out deletes all DB elements first.
« Reply #7 on: February 13, 2014, 09:15:33 am »
There is.

If you perform a get all latest the default behavior is to not import unchanged files. The possibility is there, I just don't know why it isn't applied in your situation (or at all for checkouts if that is the case)