在软件开发的过程中,版本控制是一个不可或缺的环节。随着技术的发展,越来越多的工具和平台被开发出来以满足开发者的需求。SourceAnywhere和TortoiseSVN就是其中的佼佼者。SourceAnywhere是一个基于SQL Server的版本控制工具,最初作为Visual SourceSafe(VSS)的替代品而闻名,它不断扩展版本控制功能,以更好地适应不断变化的开发流程和环境。而TortoiseSVN则是一个著名的Subversion客户端。
SourceAnywhere能够处理500+的并发连接,拥有独特的缓存机制来加速远程连接,并且能够无缝集成到包括Visual Studio、Eclipse等IDE中。它还提供了强大的管理功能,如细致的项目访问控制、电子邮件通知等。
为了更好地服务于不同背景的开发者,Dynamsoft首先提供了一个VSS导入工具,帮助将VSS数据库迁移到基于SQL的SourceAnywhere数据库。现在,他们决定通过提供SVNBridge,让用户能够直接使用TortoiseSVN作为客户端。如果团队成员之前使用过Subversion,现在不必再说服或强制他们改变版本控制工具了。
SVNBridge为SourceAnywhere带来了一些出色的特性。它允许直接从Windows资源管理器提交文件/修改,支持与XCode、Dreamweaver等Mac上的IDE以及SVN支持的其他IDE的无缝集成。
在将SourceAnywhere与Subversion集成之前,先来看一下产品的架构。SVNBridge使TortoiseSVN能够通过SourceAnywhere提供的COM SDK API与SourceAnywhere服务器通信。如上图所示,SVNBridge从TortoiseSVN获取命令,然后通过SourceAnywhere COM SDK将命令翻译成SourceAnywhere能理解的命令,以将数据传输到SourceAnywhere服务器。
首先,在计算机上安装SourceAnywhere客户端和SourceAnywhere COM SDK。请确保在同一台机器上安装了SVNBridge。出于测试目的,安装客户端后,可以连接到Dynamsoft已经设置好的演示服务器。如果想自己设置服务器,可以按照“逐步设置指南”中的步骤进行。
接下来,安装TortoiseSVN。下载SVNBridge并将其解压到计算机上的任何位置。压缩包中包含以下文件:
CodePlex.TfsLibrary.dll
Interop.SAWSSDKLib.dll
scconfig.ini
SvnBridge.exe
SvnBridge.Library.dll
更新scconfig.ini文件。该.ini文件包含SourceAnywhere服务器和SVNBridge的连接信息。当输入SVNBridge机器的IP地址时,软件会从.ini文件中读取IP地址、端口和SourceAnywhere服务器的仓库信息。在这种情况下,使用SourceAnywhere服务器演示的IP地址。
SCIP=demo.dynamsoft.com (SourceAnywhere服务器IP)
SCPort=7777 (SourceAnywhere服务器端口)
Repository=Default (SourceAnywhere仓库)
TempPath=C:\Temp\ (svnbridge的临时路径)
SCBIP=192.168.4.235 (SVNBridge服务器IP)
SCBPort=808 (SVNBridge服务器端口)
注意:如果使用的是自己设置的SourceAnywhere服务器,可以打开“SourceAnywhere服务配置器”并导航到“系统设置->服务器IP和端口部分”来检查连接信息。对于SCBIP,可以转到运行SVNBridge的机器上,然后使用ipconfig命令来获取IP地址。
双击SvnBridge.exe启动服务。
通过Windows资源管理器获取项目到工作文件夹。在工作文件夹中,可以右键单击并选择“SVN Checkout”。在弹出的对话框中,输入通过scconfig.ini配置的URL(SCBIP)。在例子中,URL是http://192.168.4.235:808。请同时输入检出目录。默认情况下,工具会自动填写工作文件夹路径作为检出目录。
随后的认证将提示:
用户名: default\dynamsoft1 (<SourceAnywhere仓库名称>\<SourceAnywhere用户名>)
*请注意这里需要使用"\"而不是"/"
密码: saw (SourceAnywhere用户的密码)
注意:可以勾选“保存认证”,以避免后续的认证对话框。点击OK确认输入。从下面的截图中可以看到,文件和文件夹上的小图标表明它们处于版本控制之下。
SVN用户应该熟悉从这里开始的操作。修改后,可以右键单击目标文件/文件夹。命令“SVN Commit”将帮助将修改上传到SourceAnywhere。
TortoiseSVN中还可以找到更多的版本控制操作,包括更新、提交、添加、获取/释放锁和仓库浏览器。
如果想通过浏览器查看项目,请输入URL http://192.168.4.235:808/svn。192.168.4.235是SVNBridge所在的计算机的IP地址。