Subversion Integration in the IDE

From RAD Studio
Jump to: navigation, search

Go Up to Version Control Systems in the IDE

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

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)

Supported Subversion Clients

To set an SVN Client directory, users must fill in the subversion path at IDE Tools> Options> Version Control> Subversion> Subversion path.

Here is a list of the supported Windows 32-bit and 64-bit subversion clients:

Subversion Binary Package Version
VisualSVN 1.14.2
WANDisco 1.14.1

To download a Windows Apache Subversion Binary Packages, the following are the Binaries requirements:

  • The binaries (DLL) should be 32-bit, the same as the IDE.
  • Apache Portable Runtime should be named libapr-1.dll.
  • Check for subversion libraries whose filenames start with libsvn_.
Note: After setting a subversion path, restart the IDE to complete configuration.

TortoiseSVN Command Equivalents in RAD Studio

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 RAD Studio IDE.

Tools API Implementation of Version Control

The Subversion integration is built using Tools API packages for Subversion (such as svnide290.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\23.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 RAD Studio. The main package is svnide290.bpl, located at C:\Program Files (x86)\Embarcadero\Studio\23.0\bin. Other packages include svn290.bpl, svnui290.bpl and svnide290.bpl.

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.

RAD Studio includes Subversion 1.8.13 libraries.

Topics

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