Book a Demo

Author Topic: Working offline with VC packages  (Read 4605 times)

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Working offline with VC packages
« on: April 14, 2011, 08:58:31 pm »
I wonder if there is a simple way to work offline with a VC package. With offline I mean that I also do not have VC on the offline computer. What I currently do is the following:
  • Check out package (let's call it PKG)
  • Copy the according XMI to the remote machine
  • Import the XMI for PKG remotely. (The remote model had once been created from a root model export/import.)
  • Work remotely and change elements in PKG.
  • Create a dummy package called TRANS inside PKG.
  • Move everything inside PKG into TRANS so PKG just contains TRANS.
  • Export TRANS to XMI
  • Import that XMI in the VC repository into PKG
  • Now changes are present in the VC PKG
  • Move everything out of TRANS and delete TRANS
  • Check in PKG
This looks not only clumsy, it is...

I wonder if there is an easier way to achieve the above.

q.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Working offline with VC packages
« Reply #1 on: April 18, 2011, 08:34:46 am »
If you're using a server repository which you will also be offline from, transfer to an eap file.

Copy the eap file then follow the instructions at http://www.sparxsystems.com/enterprise_architect_user_guide/8.0/projects_and_teams/offline_version_control.html

If you're using a repository you'll need to call Get Latest on any updated packages on the shared repository after everything is checked in.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Working offline with VC packages
« Reply #2 on: April 18, 2011, 11:42:26 pm »
Thanks, Simon. That looks pretty much like what I was looking for.

q.

[edit:] Unfortunately it does not cover my use case:
- copy model from customers machine to my private machine
- work offline
- copy back changes into customers environment

It just works if I take the customer's laptop home. But as said: I want to work on the model COMPLETELY offline. So I still have to find a better way realizing my use case.
« Last Edit: April 19, 2011, 04:05:48 am by qwerty »

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Working offline with VC packages
« Reply #3 on: April 19, 2011, 08:38:39 am »
Okay, I'm rusty to say the least on the way this works. You say that it doesn't work for you, but why and where does it fail?

I would imagine on your computer you would have work offline set. You could get the eap file and offline check out packages. When you're done copy the eap file back to the customer environment and check in.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Working offline with VC packages
« Reply #4 on: April 19, 2011, 04:15:14 pm »
The problem is that the user is different on both machines. When I checkout offline it gets reserved to that user (the red eight). When I copy back to the other user it is locked for the other one. I'd say that EA's behavior is correct but unfortunately it blocks my use case. I'm currently investigating ways to manipulate the repository.

q.

[edit:] I found a nice work around.
  • Setup a subversion server on the offline machine.
  • Copy and commit the version controlled files (XMIs and EAB) from your host machine. You have to create the path like on the host machine.
  • Change the <Type> in the EAB to 2 (indicating subversion).
  • Create an EAP from the EAB (Import Model Branch).
  • Point the VC to the root directory.
  • Now you can check out/change/check in offline (your shadow machine).
  • Once in a while sort out the changed XMIs (by inspecting the log) and transfer them to the host machine where you check in the changes using native VC command.
  • Update the model(s) on the host by calling Get Latest (you should read this post
  • Vice versa copy changes (or simply all) XMIs from the host to your shadow machine. Subversion will indicate which have changed and where you need to call Get Latest (after the Commit).
« Last Edit: April 20, 2011, 05:39:28 pm by qwerty »