Subversion Integration in the IDE

From Appmethod Topics
Jump to: navigation, search

Go Up to History Manager

The Version Insight feature uses the Tools API packages to integrate the well-known Subversion version control system into the IDE.

The Appmethod product installer also includes a Subversion client from CollabNet (

Features of Subversion in the IDE

For any file that is managed by Subversion:

  • The History Manager displays both the local file history information and the Subversion history information. For example, SVN comments and history are available on the Information tab of the History Manager.
  • You can compare or diff versions of the file that were created in and are managed by an external SVN system, even if the file was not created or backed up by the IDE.
  • You can perform common SVN commands such as:
    • Update (SVN) (refresh your local working copy of a file)
    • Commit (SVN) (send your local changes to the repository)
    • Show Log (click the Information tab on the History Manager)
    • Diff (compare two versions of a file)
    • Blame (Annotate) (displays most recent SVN revision number; click Annotate2.png on the History Manager)

TortoiseSVN Commands in Appmethod

If you are familiar with TortoiseSVN, a popular command-line Subversion application, take a look at this useful table that describes how to perform common TortoiseSVN tasks in the Appmethod IDE.

Tools API Implementation of Version Control

The Subversion integration is built using Tools API packages for Subversion (such as svnidennn.bpl). You can use Tools API packages to integrate other version control plugins into the IDE.

The following units ship with the product (in the /source/ToolsAPI directory) and contain all the interfaces used for the Subversion integration:

  • ToolsAPI.pas
  • FileHistoryAPI.pas

Comments in the .pas files provide the documentation for the functions in each interface. There are several new interfaces, such as IOTACustomDifferenceViewer and IOTAFileHistoryNotifier.

For introductory information about using the Tools API, see Extending the IDE.

README.txt, located in C:\Program Files (x86)\Embarcadero\Studio\15.0\bin\subversion, contains useful information about using Subversion in the IDE.

Enabling Subversion

Subversion is enabled by default. You can enable or disable Subversion in the IDE just as you can any installed package. Simply check or uncheck the Embarcadero Subversion Integration checkbox here:

A number of Subversion integration packages and libraries are open-source and are included in the product. The principal package is svnidennn.bpl, located in your product installation /bin directory. Other packages include svnnnn, svnuinnn and svnidennn. The version number (nnn) of Appmethod XE4 is 180.

To implement the Subversion features, the IDE does not add anything to your project. Instead, the IDE simply uses the Subversion information that is stored in directories that are under version control by Subversion.

Upgrading Your Subversion Client

If your Subversion client is out of date with the current version of the repository, this message appears:

 The path 'path/to/my/project' appears to be part of a Subversion 1.n or greater working copy rooted at 'path/to/my/project'. Please upgrade your Subversion client to use this working copy.

For example, Subversion Version 1.7 is a breaking change, and is not compatible with Version 1.6. In this case, you need to upgrade your Subversion client to 1.7.

To determine the version of Subversion on your system, enter the following command in a command window:

> svn --version

There are two ways to upgrade your Subversion client:

  1. Download from CollabNet (the IDE uses a Subversion client from CollabNet):
  2. Download from SourceForge:


Equivalent commands

Repository Actions

Log and History Actions

Difference View Actions

Reverting Changes

Merge View Actions

Solving Repository Problems

Using Change Lists

Dialog Boxes and Panes

See Also