Versioning Processes

In previous versions of Rulex you could either duplicate your process every time you wanted to fix a version, or export the process with its date and time as a suffix. In collaborative working these exported PRCX files were shared.  To avoid the human errors inherent in manual activities and to minimize memory occupation processes can now be versioned directly from the Rulex interface.

Rulex versioning allows you to save, update, merge and retrieve specific versions of a process, and is based on the Git version control system.

For a quick overview on versioning, watch the video


Before versioning processes, you must enter repository details in the Versioning Preferences dialog box (File > Versioning Preferences).

The following details are required:



Repo URL

Enter the URL of your Git repository

Repo username

Enter the username required to access to Git repository

Repo password

Enter the password paired to the username required to access to Git repository


Enter the username that will be associated to repository commit activities


Enter the email address of the user associated to repository commit activities.

This option is not mandatory.

Changing repository details

If you need to change these details for a specific process, right-click the specific process the Processes pane, and select Version control > Change repo.

Versioning operations

Versioning can be accessed from two different points in Rulex:

  1. By right-clicking a process in the Processes list and selecting Version Control. This access mode allows you to perform versioning operations on all the process you can work on.

  2. Directly from the versioning icons in the toolbar. This access mode is quicker, but allows you to perform operations only on the process you are currently working on:




Adds the process to version control. 

When you want to version your process, click on the Add icon in the toolbar. A green tick sign will be added to the versioned process in the processes list on the left. When you make and commit changes to the process this icon will turn yellow, indicating that the current and versioned processes are no longer aligned, at which point you need to push your changes to align the local and server versions.


Clones a process which has already been versioned. 

To clone an existing process click the Clone icon, then enter the hash name of the process and a new name for the copied process.


Retrieves the latest version of a process from the version control system. In case of conflicts a warning message is displayed, allowing you to decide how to continue.


Aligns your local files with those on the server. 

Click the Push icon to align the server files with those of the current process with the latest modifications, adding a description of the changes made.


Retrieves the hash name of the process.

Click the Info icon, and then click on the copy to clipboard button to make it easier to save the hash name or pass it on to a co-worker, who wants to clone the process. 


Retrieves a list of all the commit operations performed on the current process, together with any corresponding tags.


Reverts to a previous version of the process.

Click the Revert icon, and select the process you want to return to.


Adds a specified tag to your process, to make it consequently easier to identify. 

Click the Tag icon, and enter a name and description for the tag.


Merges two different processes.

The merge process is as follows:

  1. Click the Merge icon.

  2. Specify whether you want to merge the processes together using your current process, or create a totally new process. If you want to create a new process you'll have to enter a new unique name for it.

  3. Enter the hash name of the process you want to merge your current process with.

  4. If required, you can tag the operation to make it easier to identify later on.

  5. Specify the merge policy you want to adopt. Current options available are:

    • Default - ours (process variables) + theirs (all the rest) - resolves any merge conflicts by using the process variables present in the current process, and taking all other elements from the process you have selected with the hash tag.

    • Local first - ours (everything) - resolves any merge conflicts by taking all conflicting elements from the current process.

    • Remote first - theirs (everything) - resolves any merge conflicts by taking all conflicting elements from the process you have selected with the hash tag.