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. 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:
    History Tabs
    • 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 Annotate2.png on the History Manager)

For additional information, see How To Use Subversion in the IDE.

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\14.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 and server from CollabNet):
  2. Download from SourceForge:

Topics

See Also