Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software. Within a given version number category (major, minor), these numbers are generally assigned in increasing order and correspond to new developments in the software.
A source control system (version control system) is a combination of technologies and practices for tracking and controlling changes to a project's files, in particular to source code, documentation, and web pages.
The reason version control is so universal is that it helps with virtually every aspect of running a project: inter-developer communications, release management, bug management, code stability and experimental development efforts, and attribution and authorization of changes by particular developers. The version control system provides a central coordinating force among all of these areas. The core of version control is change management: identifying each discrete change made to the project's files, annotating each change with metadata like the change's date and author, and then replaying these facts to whoever asks, in whatever way they ask. It is a communications mechanism where a change is the basic unit of information.
XF Designer provides the following commands for working with documents under source control, that are listed in the File >Source Control menu:
1. Add
This command adds the current document to source control. Repository must be subsequently updated with commit. Also used to negate an uncommitted remove.
2. Remove
Removes the current document from source control. Repository must be subsequently updated with commit.
3. Update
An update (or sync) merges changes made to the document (by other people, for example) into the local working copy.
4. Commit
A commit (checkin) is the action of writing or merging the changes made in the working copy back to the repository. The terms 'commit' and 'checkin' can also be used in noun form to describe the new revision that is created as a result of committing.
5. Revert
Reverts any local changes to the document and resolves any conflicted states. This action will revert not only the contents of the document in your working copy, but also any property changes. Finally, you can use it to undo any scheduling operations that you may have performed.
To work with your document under source control first you have to configure the source control provider.
Configuring the source control provider
When you open an unversioned document, in File >Source Control you will have the option Change Source Control that enables you to configure the source control provider.
If your document is already versioned, this command will help you to change the source control provider (if needed).

When you click Change Source Control button, the Options dialog box will be displayed:

Note: This dialog box can be opened also by clicking the Options button in the bottom right corner of the File menu.
In the Plugins menu you can select the plugin for the source control provider from the drop down box. XF Designer installation provides you the default plugin Ecrion.SVN. Click OK and the changes will be made.
Adding the document to source control
To version the document, save it in a versioned folder. After that, the Add command will be enabled:

If you select Add, the current document will be added to source control and you will be able to perform actions like Remove, Update, Commit or Revert:

Note: In XF Designer, when you open a document that is already under source control, the word "Versioned" is displayed in the bottom status bar.
