Offline Version Control

When loading a model that uses version control, Enterprise Architect normally initializes a connection to the version control system for each version control configuration defined in the model. If Enterprise Architect is unable to connect a version control configuration for any reason, it displays warning messages to notify you and provides offline version control functionality for all packages associated with the failed connection.

You can prevent Enterprise Architect from starting to make any version control connections, by selecting to work offline menu before loading your model.

Access     Project | Version Control | Work Offline

Working Offline

Concept

Discussion

See also

Choosing to Work Offline

Selecting to work offline is useful if you know beforehand that Enterprise Architect cannot connect to your version control system. For example: If you are working on a laptop computer that is disconnected from your network, on an Enterprise Architect model that uses a large number of version control configurations, you can select to work offline before you load the model to avoid all the error messages that the system would normally display as each version control connection attempt failed.

You can switch between working offline and working online at any time, either before or after a model is loaded, by toggling the Work Offline menu option. Enterprise Architect disconnects or reconnects version control (depending on the connection availability) according to your selection.

 

 

Using Version Control Whilst Disconnected From the Version Control Server

Enterprise Architect 'remembers' the status of a model's version controlled packages. Packages that were checked out to you prior to disconnecting from the server are still shown as checked out to you, even though you are no longer connected to the server. You can still edit these packages as you normally would.

Packages that were not checked out to you prior to disconnecting from the server are shown as version controlled and locked. You cannot edit these packages until you check them out.

 

 

Offline Check Out

You can 'check-out' and edit a version controlled package even when your machine is disconnected from the version control server. In the example below, the colored 'figure 8' icon for DFD indicates that you have checked it out whilst offline.

 

ProjectViewCheckOut

 

(The gray 'figure 8' icon shown against Logical View indicates that you have checked out a version-controlled package online.)

You should be aware that the version control system, and therefore other users, have no way of knowing that you have 'checked-out' a package whilst offline. It is not possible to merge changes to an XMI file that result from two users editing the same package at the same time. If an offline checkout leads to two people editing the same package at the same time, when the changes are brought back online the first-saved set of changes is lost.

 

Project Browser Indicators

Checking In a Package That Was Checked Out Offline

Once you reconnect your system to the version control server, if the package you checked out offline is not currently checked out by another user, you can check in that package. However, before Enterprise Architect checks in the package, it compares the local working copy of the package file with the latest revision in the repository. (These package files remain unchanged in your work area until Enterprise Architect exports the package again before checking in.) If the repository version remains unchanged from when you last updated your local copy, Enterprise Architect exports and checks in your package without further prompting.

On the other hand, if the repository now contains a file that has changed since you last updated your local copy, checking in your package would overwrite those changes. Enterprise Architect displays a message warning you of the pending data loss and giving you the opportunity to abort the check in. At this point, you must decide whether to discard your own changes, using the Undo Check Out command, or continue with your check in and overwrite the changes that have been committed to the repository since you last updated your local copy from the repository.

You can use the File Properties command to determine who checked in the last changes to this package. This might help you to discover what changes have been uploaded and decide whose changes take precedence.

 

 

 

 

 

 

 

 

 

Package Version Control Menu

Update Before You Disconnect

Whenever you are connected to the version control server, you are always working with the latest version of a package. This is because you cannot modify a package until you check it out from version control, and checking it out loads the latest revision from the repository into your model.

This cannot happen when you are disconnected from the version control server. You are working on whatever versions you have on your machine, dating back to the last time you updated your local copy of each version controlled package. So, if you are planning to work on a model whilst disconnected from version control, it is a very good idea to make sure that you have the latest versions of all packages before you disconnect. The Get All Latest option makes this a simple task.

 

 

 

 

 

 

 

Get All Latest