How to use latest Subversion runtime with Version Insight?

Version Insight does use Subversion runtime DLLs and by default the used Subversion runtime DLLs that are located in $(BDS)\bin\subversion. RAD Studio XE ships with Subversion 1.6.12 runtime and I am not aware of issues in Subversion 1.6.12 that affect Version Insight, but Subversion 1.6.17 is about to be released soon…

So if you want to keep your stuff up-to-date or want to take advantage of the performance improvements in the Subversion releases between 1.6.12 and 1.6.17 then you might want to know how to update the DLLs?
(note I cannot say if the performance improvements are noticeable or not)

Option #1:
You should already have guessed the first way from the first sentense of this post – you are an Administrator and just do replace the DLLs in $(BDS)\bin\subversion.

Option #2:
Place the new Subversion runtime DLLs wherever you want. Set the DLL directory with the registry string value SvnDllDir below the IDEs Subversion key. This way you can use the DLLs from another subversion client that you might have installed anyway and keep up-to-date, but do not try it with the TortoiseSVN directory – this will not work – see warnings below.

Example for the default IDE key and the DLLs located in c:\tmp\SubversionDLLs

[HKEY_CURRENT_USER\Software\Embarcadero\BDS\8.0\Subversion]
"SvnDllDir"="c:\\tmp\\SubversionDLLs"

Where can you get new DLLs?
Links to several Subversion binary distributions can be found on the Subversion homepage on the Binary Packages page.

If you want to find out if the IDE does use the right DLLs do this in the IDE

  • trigger a Subversion action
    (for example open the History View for a file managed by Subversion)
  • Help | About…
  • Version Info…
  • look for libsvn_client-1.dll and check version number and path

Warnings:

  • Using any other Subversion runtime DLLs than shipped with RAD Studio XE is not supported by Embarcadero. If you find an issue then please check if it occurs with the shipped DLLs and if not then mention this in your QC report.
  • Not all Subversion distributions have DLLs with the names we need and trying to use DLLs with different names will lead to error messages. We use the following DLLs directly:
    • libapr-1.dll
    • libsvn_client-1.dll
    • libsvn_delta-1.dll
    • libsvn_diff-1.dll
    • libsvn_fs-1.dll
    • libsvn_ra-1.dll
    • libsvn_repos-1.dll
    • libsvn_subr-1.dll
    • libsvn_wc-1.dll

Last but not least Subversion 1.7 (beta) testing might start soon and if you dislike the fact that there are a lot of these .svn folders all over the place in your working copy then this is definitely what you are looking for. I will blog about Subversion 1.7 and Version Insight as soon as 1.7 testing started and I have checked Version Insight against it, but before the IDEs search feature needs my attention.

This entry was posted in DelphiSVN. Bookmark the permalink.

8 Responses to How to use latest Subversion runtime with Version Insight?

  1. Ulrich Kobsa says:

    Hi Uwe,

    thanks for your ongoing work on version insight. Just compiled and installed latest trunk version. Works fine here.
    There is one wish I have: I would like to see a way to export the date from Log view (as xml so that the output format changed be changed easily or as plain HTML)
    Why: I like to get a list of what has changed between two releases of my program and want to give this list to another person to write a change history for end users.

    best regards,
    Ulrich

    • Uwe Schuster says:

      Yeah I do remember that I’ve implemented this upon your request in JEDI VCS too.
      FYI, the Log View already has copy support and you can copy the revisions in the following format to the clipboard and that shouldn’t be that hard to parse. The difference between the version shipped with RAD Studio XE and the community version is that the community version supports Select All, Multiselect and lets you select the range of revisions you want to show. To select the range use the button left to the search edit without the glyph.


      Revision: 64
      Author: uschuster
      Date: 07.04.2011 23:31:03
      Comment:
      Log View: Added command "Edit comment" to revision listview

      - svn\SvnClient.pas: added TSvnClient.GetRevisionProperties and .SetRevisionProperty
      ----
      Modified: /trunk/svn/SvnClient.pas
      Modified: /trunk/svnui/SvnClientLog.pas
      Modified: /trunk/svnui/SvnClientLog.dfm
      Modified: /trunk/svnide/SvnIDELog.pas
      Added: /trunk/svnui/SvnClientEditComment.pas
      Modified: /trunk/svnui/svnui.dpk
      Modified: /trunk/svnui/svnui.dproj
      Added: /trunk/svnui/SvnClientEditComment.dfm

      • Ulrich Kobsa says:

        Hi Uwe,

        Yes, I used it with Jedi VCS a lot. For some reasons I’m using Subversion now but for old project still JediVCS is active.
        Cool, I didn’t realized that range button. But why no icon?
        Anyway, I can live with the extracted information and write my own parser for it.

  2. EMB says:

    I’ve always used SVN integration from JEDI/JVCL…
    I’m using Delphi 2010 now. Can I install Version Insight community version in it?
    Sorry if it is a dumb question, but i did not found any explanation in any one of my quick Google searches…

    • Uwe Schuster says:

      Sorry, but also the Version Insight community version requires Delphi XE, because it heavily depends on Open Tools API stuff that is only available in Delphi XE.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">