Book a Demo

Author Topic: Connecting to SVN Repository on EA Startup  (Read 5695 times)

thomaskilian

  • Guest
Connecting to SVN Repository on EA Startup
« on: August 24, 2007, 12:12:26 am »
Hi there,
another question concerning SVN. I have successfully setup my version control. But whenever I start EA it tries to connect to the repository. Honestly I don't understand why EA is doing that. All files are already on disk checked out under version control. So what is EA talking to the repository at all ???

Opening my repository now takes a long time as I have quite some controlled packages. This is anoying! Then of course I not always have connection to the server when working abroad. And EA complains with a message but works without problems. So I think there is actually no point in connecting to the server - except I really want to check in something.

And a minor glitch: the caption in the start menu now startes "Connecting to repository..." all the time - also after it's done with conncting.

Any other experience - or shall I report the above as bug?

Edit: It takes 1 1/2 minutes to start EA now when connected to SVN. When I unplug the network I just have to click the message and EA is up immediately. I will report this as bug.
« Last Edit: August 24, 2007, 01:02:27 am by thomaskilian »

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Connecting to SVN Repository on EA Startup
« Reply #1 on: August 24, 2007, 03:05:54 am »
Are you using SQL Server as a repository? There can be some pretty heavy traffic when a DBMS is involved, and this can affect performance of EA in a network.

From time to time problems with this crop up, with SQL Server seeming to be the one that complains the most. (Or about which the most complaints are voiced here, at least.)

[EDIT: Sparx has usually been able to rectify things - or at least significantly alleviate the symptoms - quickly, once a bug report is filed.]
« Last Edit: August 24, 2007, 03:07:11 am by Midnight »
No, you can't have it!

thomaskilian

  • Guest
Re: Connecting to SVN Repository on EA Startup
« Reply #2 on: August 24, 2007, 03:50:49 am »
Yes and no, David. I use a locally installed SQL Server. As said: without network connection it starts almost immediately. Only when the network is connected it starts talking to the SVN for reasons unknown to me.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Connecting to SVN Repository on EA Startup
« Reply #3 on: August 24, 2007, 04:20:39 am »
EA talks to the version control provider to get the status of the controlled parts.
If you do the test:
- Check in an item in VC through EA
- The item is locked (showing yellow key) in EA
- Check out the item from you VC client (so outside EA)
- Reload you project; you should see that EA noticed the changed status of your controlled item. It no longer has the yellow key.

HowardB

  • EA Administrator
  • EA User
  • *****
  • Posts: 55
  • Karma: +0/-0
  • I love YaBBies!
    • View Profile
Re: Connecting to SVN Repository on EA Startup
« Reply #4 on: August 26, 2007, 06:51:32 pm »
Hello Thomas,

One and a half minutes to open a model is very long time and even with a very slow network, it indicates that something is not quite right with the Subversion setup.

I will send you a diagnostic tool to monitor the communication between EA and Subversion, to try to find where the problem is.


In answer to some of the points raised in this thread, here is some relevant technical information;

When you apply version control to packages in your EA model, EA subsequently enforces serialized editing of those packages.  The reason for this is that the XMI file format used for version controlling the packages cannot be merged.

As Geert has already mentioned, EA queries the VC system to determine the status of all VC packages when a model is loaded.  Packages that are checked-out to you are unlocked and may be edited.  Packages that are not checked-out, or packages that are checked-out to somebody else, are locked and may not be edited by you.

Thomas, you state that "all files are already on disk checked-out under version control".  That's fine for you, but if another user in your organisation loaded a copy of that model, all of those packages are locked to him.  He would not be able to modify any of those packages until you checked them in and he subsequently checked them out.

That is why EA must connect to VC and query the status of all packages, each time the model is loaded.


Now, if you are traveling abroad and you don't have connection to your VC system, EA will use VC in its "offline" mode.  Any packages that were previously checked-out to you are still marked as checked-out and others are still marked as checked-in (or locked).  EA allows you to perform an "offline" check-out (so you can unlock and modify those packages), but you can not check-in again until you are back online.
For those occasions when you are "unplugged", EA also allows you to choose the "VC offline" mode before opening a model, to prevent any attempts to connect to VC and the error messages that would result from such attempts.

Finally, the post by Geert and the steps he describes relate to an SCC based version control system.  Such systems usually provide "exclusive checkouts".  Subversion and CVS operate differently to that and EA enforces the "exclusive locks" when using these two products.

When using Subversion, you need to lock a file to simulate a "check-out" and unlock a file to simulate a "check-in".  

Please note however, that you are not importing or exporting the package files when you do this.  You should ensure that any outstanding modifications are committed to version control before you start "playing" with the file status in this way, otherwise you may lose any recent changes.


regards,
Howard.

thomaskilian

  • Guest
Re: Connecting to SVN Repository on EA Startup
« Reply #5 on: August 28, 2007, 02:00:49 am »
Got a reply from Sparx and it seems that the SVN auto-localization is the reason for the bahavior. A workaround is to remove the localization files in the SVN directory which let SVN response in standard English messages which are interpreted correctly by EA. According to Sparx a permanent fix will not be available soon. I suggested to include the workaround description in EA's VC instructions. Guess, nobody really needs the localized SVN messages.

thomaskilian

  • Guest
Re: Connecting to SVN Repository on EA Startup
« Reply #6 on: August 29, 2007, 03:12:01 am »
Just a finial note: a correction for this has been promised for build 817 :)

oribolzi

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: Connecting to SVN Repository on EA Startup
« Reply #7 on: August 29, 2007, 12:23:10 pm »
Resolved a related issue, after a full day lost trying to figure out what was happening.
Thanks, kilian !

thomaskilian

  • Guest
Re: Connecting to SVN Repository on EA Startup
« Reply #8 on: August 30, 2007, 11:29:23 am »
Just another "final" message: I experienced (all of a sudden) very long response time after removing the localization file. I could swear it was faster after initial removal. Now I'm back at square one. Intermediate solution now: unplug network, open repository, wait for Sparx' fix.