Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Integrate SVN with SourceAnywhere: Expand the Version Control Features to the Most

11 Sep 2012 0  
Take advantage of SVNBridge to access SourceAnywhere, a SQL Server-based version control tool, from TortoiseSVN. You are not limited to one version control tool.

Introduction

SVNBridge is a tool provided by Dynamsoft. Developed based on the TFS SVNBridge library, SourceAnywhere SVNBridge links SourceAnywhere and SVN, and enables developers to access SourceAnywhere databases from TortoiseSVN, a famous Subversion Client.

What is SourceAnywhere?

SourceAnywhere is a SQL Server-based version control tool. First known as a Visual SourceSafe (VSS) replacement, SourceAnywhere continues expanding the version control features to better fit the changing development process and environment.

  • Capable of handling 500+ concurrent connections globally.
  • The unique cache mechanism to speed up the remote connections.
  • Seamless integration with IDEs including Visual Studio, Eclipse and other MSSCCI compatible IDEs.
  • Robust management features: considerate project access control, email notification, etc.

Why SVNBridge

To better serve the developers with different background (he/she might have used VSS or SVN before), Dynamsoft first provided a VSS import tool to help migrate VSS databases to SQL-based SourceAnywhere Database. Now they decided to take it to another level by providing SVNBridge for users to use TortoiseSVN as a direct client. If some of your team members were using Subversion, it’s not necessary for you to convince or enforce them to change the version control tool anymore. J

Key Features

SVNBridge brings some great features to SourceAnywhere.

  • Enables you to commit the files/modifications directly from the Windows Explorer.
  • Wider IDE integration. Supports seamless integration with XCode, Dreamweaver on Mac and other IDEs supported by SVN.

SVNBridge Concept

Before integrating SourceAnywhere with Subversion, let’s first take a look at the architecture of the products. SVNBridge enables TortoiseSVN to communicate with SourceAnywhere Server through the APIs provided by SourceAnywhere COM SDK.

 

As you can see from the above image, SVNBridge gets the commands from TortoiseSVN. Then through SourceAnywhere COM SDK, SVNBridge translates the commands to those understood by SourceAnywhere to transfer the data to SourceAnywhere Server.

How to use SVNBridge

Set up the Integration

  1. Install SourceAnywhere Client and SourceAnywhere COM SDK on your computer.

    Note: Please make sure that you’ve installed SourceAnywhere Client and COM SDK on the same machine with SVNBridge. For testing purpose, after installing the client, you can connect to the demo server that has already been set up by Dynamsoft.

    If you want to set up the server yourself, you can follow the steps in the Step-by-Step Setup Guide.

    Dynamsoft SourceAnywhere Step by Step Setup Guide.pdf

  2. Install TortoiseSVN. 
  3. Download SVNBridge and unzip it to any location on your computer. The following files are included in the zip:

    CodePlex.TfsLibrary.dll
    Interop.SAWSSDKLib.dll
    scconfig.ini
    SvnBridge.exe
    SvnBridge.Library.dll

  4. Update the scconfig.ini file. The .ini file contains the connection info for both SourceAnywhere Sever and SVNBridge. When you enter the IP address of the SVNBridge machine, the software reads the IP address, Port and the repository info of SourceAnywhere Server from the .ini file. In this case, we use the IP address of the SourceAnywhere Server demo.
    SCIP=demo.dynamsoft.com (SourceAnywhere Server IP) 
    
    SCPort=7777 (SourceAnywhere Server Port) 
    
    Repository=Default (your SourceAnywhere repository)
    TempPath=C:\Temp\ (the temp path of svnbridge)
    SCBIP= 192.168.4.235 (SVNBridge Server IP)
    SCBPort=808 (SVNBridge Server Port)

    Note: If you are using SourceAnywhere Server set up by yourself, you can open "SourceAnywhere Service Configurator" and navigate to "System Settings -> Server IP and ports section" to check the connection info.

    For SCBIP, you can go to the machine holding the SVNBridge. And then use the command ipconfig to get the IP address.

  5. Double click SvnBridge.exe to start the service.

Access SourceAnywhere from TortoiseSVN

Through Windows Explorer

  1. Get the projects to your working folder. In the working folder, you can right-click and choose "SVN Checkout".

     

  2. In the pop up dialog box, enter the URL you’ve configured through scconfig.ini (SCBIP). In our case, the URL is http://192.168.4.235:808. Please also enter the checkout directory. By default, the tool will automatically fill in the path of your working folder as the checkout directory.
  3.  

    The following Authentication will prompt:

    Username: default\dynamsoft1   (<repository name of SourceAnwyhere>\<SourceAnywhere username>)

    *Please NOTE here you need to use "\" rather than "/"
    Password: saw (the password of the SourceAnywhere user)

    Note: you can check "Save authentication" to avoid further Authentication dialogs.

     

    Click OK to confirm the entry. As you can see from the screenshot below, the little icons on the files and folders indicate that they are under version control.

     

  4. SVN users should know the operations from here. After making the modifications, you can right-click on the target file/folder. The command "SVN Commit" will help you upload the modifications to SourceAnywhere. More version control operations can be found at TortoiseSVN, including Update, Commit, Add, Get/Release Lock, and Repo-browser.

Access through Web Browser

If you’d like to view the project(s) through the browser, please enter the URL http:// 192.168.4.235:808/svn. 192.168.4.235 is the IP address of the computer where the SVNBridge locates.

Resources

If you’d like to check out the SVNBridge by yourself, you can download the tools at:

If you have any questions, you can contact our support team at sawstd@dynamsoft.com.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here