GenioSVN

A guide for parallel Genio development.


Overview

Genio’s source control function (Genio SVN) allows different developers to work simultaneously on a collaborative project. Genio SVN works similarly to TortoiseSVN, allowing a developer to use a working copy of a collaborative project that can later be integrated to the central database, in which said project is being stored.

To start, one must first execute a Checkout which will create 2 (two) copies of a project from the central database to a private server:

  1. Local Copy;
  2. Working Copy.

The checkout will create a new folder for these project copies within the folder of Genio projects. It is important to note that, the project and the Central Database shared path need to exist within a directory with permissions for any user.

Checkout Diagram

After you execute a checkout you will be able to see the databases of the Local and Working copies on SQL Server Management Studio (SSMS). Local and Working copies on SSMS

How to transform a local database into a Central Server Database

To transform a database of a project, so that it can become collaborative and be accessed through the Central Server Database, please follow these steps:

  1. Go to the Generation tab on Genio and click on the Global Settings button.

Global Settings

  1. In the pop-up form, indicate the SVN URL (of the central database) and the Central Share Path.

SVN URL

  1. After executing the first checkout, your project database will be indicated as a Central Server. In this example, the link to the Central Repository is https://fileserver:8443/svn/ID/trunk/GQT

Central Server

How to execute a checkout

  1. Open a new project on Genio and then press the “SVN Checkout” button.

Checkout1

  1. Fill-in the name of the Central Server you’ll use, then the name of the Database folder of your collaborative project (which is saved in the Central Server). Finally name the folder that will be created for your local Database. Now press Checkout.

Checkout2

  1. This will open a pop-up that shows you the Repository URL and the Checkout Directory. Leave configurations as shown in the image below and press ok.

Checkout3

IMPORTANT NOTE: If you are executing a checkout for the first time, you will first need to create a new user for yourself. Please see instructions at the Authentication Error item of the Guides section of GenioDoc.

Working Copy

When you open a working copy of a project on Genio, you will see a box in the Genio background with information of:

  1. The Working Copy Version
  2. The Central Server Name;
  3. The Central Database Name;
  4. The Genio Version.

Working Copy

Update

To verify the existence of alterations done to a collaborative project in the (central database) and import theses alterations to your working copy, it is necessary to execute an update on Genio. The update function will update the local copy as well as the working copy of a project, so that they become identical to the latest version of this project (that is with all alterations made to the project until that point in time) saved on the central database. The update process also merges the alterations existing in the Central Database and the local alterations in the Local and Working copies.

Update diagram

How to execute an update

  1. Go to the Management tab on Genio and click on the Update button.

Update1

  1. This will open the update pop-up in which you can see what project alterations will be updated to your local and working copies. Just press the update button.

Update 2

Conflicts during an update

GenioSVN detects conflicts that may happen while you are executing an update. Within the update pop-up, if conflicts exist you can navigate through them by clicking on the right and left arrows of the conflict section which is located on the bottom left corner next to the cancel button.

Conflicts1

See below what conflicts may occur between your local copy and the central database version of the project:

Insert-Duplication -» This conflict occurs when you inserted a value in a field on your working copy, while this same value was inserted in the same field on the Central Database, generating a duplicate.

Delete-Update -» This conflict occurs when a row that was deleted on your working copy was updated in the Central Database.

Update-Update -» This conflict occurs when you have altered a value in a field on your working copy while this same field was altered with a different value on the Central Database.

Update-Delete -» This conflict occurs when a field was deleted on your working copy while this field was altered on the Central Database.

Update-Duplication -» This conflict occurs when you have altered a value in a field on your working copy, while this same value was altered in the same field on the Central Database, generating a duplicate.

GenioSVN will automatically resolve such conflicts.

Conflicts2

But if you would like to manually select which alteration to be saved (between your working copy and the Central Database), you can double click on a conflict line and choose between “Old”, “Their” and “Mine” or even manually add another value, by selecting the “Other Value” button.

Conflicts3

Commit

The commit function allows you to update a collaborative project saved on the Central Database with the alterations you’ve made on your working copy. However, Genio does not allow you to execute a commit if you haven’t previously executed an update.

Commit diagram

How to execute a commit

  1. Go to the Management tab on Genio and click on the Commit button.

Commit1

  1. This will open the commit pop-up in which you can visualize the alterations you have made in your working copy.

a. Things you have inserted are signaled with a green plus icon. b. Things you have deleted are signaled with a red minus icon. c. Thing you have altered are signaled with a blue update icon.

Commit2

In this example, inside the table named “LENA”, the field “Address” was inserted, while the field “Telephone” was deleted. Whereas in the respective form, besides these insertions and deletions, the “Name” filed was altered to “Full name”.

  1. Regarding things inserted or deleted, the user has only the option to commit all or none of the properties inserted/deleted. If you tick a checkbox of one property, all other properties will also be ticked.
  2. Regarding things that have been altered, the user can choose which properties to tick (that will be committed) and which to leave unticked (that will not be committed).
  3. After you have chosen what you wish to commit. Click on the commit button.
  4. This will open a Commit description pop-up in which you can write a small description of what alterations you are publishing. After you write your note, Click on the commit button.

Commit3

  1. A new pop-up will open showing the share path of your commit as well as the commit description you wrote. Click on the OK button.

Commit4

  1. A final pop-up will open showing that the commit was completed. Click on the OK button.

Commit5

  1. The commit you have just executed will appear on Genio in the background log of the other collaborative's Local Copy .

Commit6

Discard

The discard function allows the user to discard all alterations made on the working copy. This means that once you execute a discard, your working copy will be a clean slate (identical to your local copy). To execute a discard:

  1. Go to the Management tab on Genio and click on the Discard button.

Discard 1

  1. This will open the discard pop-up in which you will be able to see all the alterations you made on your working copy. Click on the Discard button and you are done.

Discard 2

Log

You can check in detail all the committed alterations made to a collaborative project by consulting the log on Genio. The log on your Genio will be updated every time you execute an update or a commit. To see the log, go to the Management tab on Genio and click on the Log button. This will open the log pop-up.

Log 1

Log 2

You can also see the Commit log by clicking on the arrow under the log button as shown in the image below:

Commit Log1

This will open a Commit log pop-up in which you can double-click on a line to visualize the differences between your working copy and the project committed to the Central Database.

Commit Log2

Commit Log3

You can repeat the same process to access the Update log as shown below:

Update Log 1

Update Log 2

Update Log3

FAQ

How can I force a reindexation in my aux database?

  1. Change the database name in your basecase file. If your project is named GENABCDEV0 then you should change the Basecase.ABC file to have the value GENABCDEVaux0.
  2. Choose the GENABCaux option in the project selection screen and reindex the database.
  3. Change the basecase back to the original value