Repository systems

In a nutshell


Repository systems manage file versions and changes made to files by multiple users. articy:draft supports Perforce and Subversion (SVN) as repository systems.

This is what repository systems do for articy:draft:
  • Store partition file versions for each change made to a partition: This allows rolling back in time and restoring older versions.
  • Manage file locks: When a user claimes a partition for their exclusive writing access, the repository locks the according partition file within the repository.
  • Manage change lists: When a user publishes a partition, a so-called "change list" is compiled by articy:draft and can be edited by the user. This change list is then sent to the repository and can be used to track changes even outside of articy:draft.

 
All of the above refers to working with files. It is important to know that articy:draft also utilizes a file-based data storage approach. It looks and feels like a database, yet, only user accounts and meta information are stored in a database. The entire project data itself is packed in files and managed via the repository system. One file is created for each partition, to be precise.


In Subversion terminology, the central file database is called "repository". The equivalent in Perforce is the "depot".

Chosing a repository or depot

When creating/importing a project within articy:draft, you can either use the internal Subversion server that is integrated into the articy:server or you have to provide a repository or depot address of an external Subversion/Perforce server so that the project data can be stored there. From then on, articy:draft automatically communicates with the chosen repository/depot and composes change lists, invokes file locks, synchronizations and other things. Click here for details.

Custom commit messages

The process of publishing a partition actually invokes the 'commit' action of the underlying repository system. When doing so you can enter your own commit message to better explain your changes to the other members of your team. For your convenience, articy:draft tracks all changes and suggests them as text for the custom commit message. Both features can be switched-off in the general project settings.


Change history

Complementing the custom commit messages, every partition has a 'change history' button. This opens a dialog window that shows the revisions of the last publishing actions along with the custom commit messages, the name of the changing team member and the change date.


Rollback Partition

It is possible to rollback a partition to a previous revision from within articy:draft. To do so, open the partition change history dialog via this button 1 in the toolbar:


The dialog comes with a date picker 2 and a text search 3 to help you find the right revision. If the change list doesn't contain the revision you are looking for, you may have to search within older entries by clicking on "Next 50 entries" 7.



If you select a revision from the list, you can click on "Rollback partition" 6 to revert all changes since that point. To be sure that you have selected the right revision, check the change message 5.
In some cases - e.g. after a re-partitioning step or after working in the exclusive mode - the partition structure has changed, so that it's not possible to do a rollback to previous revisions. If a rollback is not possible for a revision, this is displayed with a warning icon next to it 4.

Rollback Project

To rollback the whole project to a specific revision, the project administrator needs to open the project exclusively. In the exclusive mode open the project change history dialog from the Navigator toolbar via this button 8:

There you can see changes across all partitions and choose the revision you want to go back to.