Subversion Integration in the IDE
Go Up to Version Control Systems in the IDE
Contents
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 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_
.
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:
- Component > Install Packages
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
- Checking Out a Copy of a Repository
- Adding a Project to Version Control
- Adding a File to Version Control
- Updating a Local Copy of a File under Version Control
- Committing Changes to Version Control
- Repository Browser
Log and History Actions
- Viewing History and Revisions
- Viewing Version Control Comments
- Displaying the Version Control Log
- Using the Annotation Feature
Difference View Actions
- Diff'ing (Comparing) Versions of a File
- Adding a New Difference Viewer
- Installing an Alternate Difference Viewer
- Using an External Difference Viewer
Reverting Changes
Merge View Actions
Solving Repository Problems
Using Change Lists
Dialog Boxes and Panes
- Commit (SVN)
- Update (SVN)
- Checkout (SVN)
- Merge (SVN)
- Switch (SVN)
- Import Pane
- Log Pane
- Repository Browser
- Difference Viewer / Merge Viewer
- Select Program
- Subversion Login
- Subversion SSL Client Certificate
- Subversion SSL Server
See Also
- The Subversion Software Project: http://subversion.apache.org/
- History Manager
- Difference Viewer / Merge Viewer
- External Difference Viewer / External Merge Viewer
- Commit (SVN)
- Update (SVN)
- Checkout (SVN)
- Merge (SVN)
- Switch (SVN)
- Import Pane
- Recent Comments
- Repository Browser
- Log Pane
- Select Program
- Select Project or Project Group to Open
- Mobile Code Snippets