Subversion Integration in the IDE
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. Version Insight does the following:
- Uses the History Manager (the History tab in the Code Editor) and the Project Manager to perform common version control tasks.
- Enables you to work in the IDE using the version information associated with Subversion-controlled files.
- Displays revision information from Subversion (as well as version information from the IDE) on the tabs located on the lower edge of the History Manager:
- Contents tab displays the file contents and the annotations at a given revision.
- Information tab displays the comments for a given revision, from the Subversion log and from the IDE.
- Differences tab shows the difference between two revisions.
Note: The History Manager continues to keep version information for backups that the IDE creates. Ten backups are kept by default; you can set the File backup limit option on Tools > Options > Editor Options.
Note: The Appmethod product installer also includes a Subversion server and client from CollabNet (http://www.collab.net/).
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)
For additional information, see How To Use Subversion in the IDE.
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:
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\14.0\bin\subversion, contains useful information about using Subversion in the IDE.
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 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:
- Download from CollabNet (the IDE uses a Subversion client and server from CollabNet):
- Go to the CollabNet downloads page and download the appropriate version of a Subversion client: http://www.collab.net/downloads/subversion
- Download from SourceForge:
- You can upgrade your Subversion client by downloading the appropriate client from http://sourceforge.net/scm/?type=svn&group_id=341542
- For a discussion of this procedure and steps to follow, see http://stackoverflow.com/questions/8447290/can-i-use-the-delphi-xe2-subversion-integration-with-subversion-1-7.
- TortoiseSVN Commands in Appmethod
- How To: Using Subversion in the IDE
- Checking Out a Copy of a Repository
- Adding a Project to Version Control
- Adding a File to Version Control
- Viewing History and Revisions
- Viewing Subversion Comments
- Using the Annotation Feature
- Diff'ing (Comparing) Versions of a File
- Committing Changes to Version Control
- Updating a Local Copy of a File under Version Control
- Cleaning Up Folders Under Subversion
- Displaying the Subversion Log
- Installing an Alternate Difference Viewer
- Adding a New Difference Viewer
- Adding a New Merge Viewer
- 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)
- Import Pane
- Recent Comments (SVN)
- Repository Browser
- Log Pane
- Select Program
- Select Project or Project Group to Open
- Subversion Login
- Subversion SSL Client Certificate
- Subversion SSL Server
- Mobile Code Snippets