Subversion 是优秀的版本控制工具,不仅可以管理程序源代码,也可以应用于其他协作管理数据的工作, 这里就介绍VisualSVN Server 服务器端的搭建以及 TortoiseSVN 客户端的使用。


一、下载所需的软件包

    现在Subversion已经迁移到Apache网站上了,地址:http://subversion.apache.org/packages.html

我们看到windows操作系统的二进制文件有5种,如图所示:

wKiom1Phpl7RWbieAAE31XAijAo503.jpg

这里,我们将采用VisualSVN Server作为服务端,TortoiseSVN客户端搭配使用

1、下载VisualSVN Server

下载地址:http://www.visualsvn.com/downloads/

2、下载TortoiseSVN 以及中文语言包(可选)

下载地址:http://tortoisesvn.net/downloads.html

下载完成后,应该有这些安装包:

wKioL1Ph0c7x6Fi0AAA8Vp5EaP8687.jpg


二、安装VisualSVN Server服务端

1、安装

选择组件:

wKiom1PhshXBUSkFAAHEuvgkg6E270.jpg

指定安装目录以及版本库目录:

wKiom1PhspKwUGIWAAEPpb826Gk588.jpg

Location:指定VisualSVN Server的安装目录

Repositorys: 指的是版本库目录,这里最好换为其他盘符

Server Port: https端口,默认443

然后,一路向下Next,即可。


2、使用VisualSVN Server建立版本库

首先,在开始菜单中,打开VisualSVN Server Manager, 如图

wKiom1Pht3CCo3hVAAJzmZmYt04468.jpg    右边的窗口中可以看到VisualSVN Server的信息,比如运行状态,日志(access logging, and operational logging are available in VisualSVN Server Enterprise Edition only),版本库等。右键左边窗口的Repositories, Users, Groups可以分别新建版本库,用户,组。

2.1 新建版本库

    右键Repositories -> Create New Repository:

wKioL1Phuv6iJcQEAAEAe82UoNY588.jpg

下面指定Repository的访问权限:

wKiom1PhueXwVTvUAADv8m3covQ154.jpg

然后,这里给我们一个总结信息,请复制URL地址,以备后用。

wKiom1PhusaxB9UIAAC7ZRaDxow463.jpg

2.2 创建用户

    在VisualSVN Server Manager窗口的左侧右键单击Users, 选择Create User或者新建->User , 在弹出的对话框中填写User name和Password, 然后点击OK

wKioL1PhvJ6CJ4oPAACCEKFEtew301.jpg

2.3 创建用户组

    单独为每个用户分配权限,如果用户不多,还可以这样做,如果用户太多这样做就太麻烦了,对此,我们可以新建一个组,然后给这个组分配相应的权限,然后把用户添加到组中即可。

    在VisualSVN Server Manager窗口的左侧右键单击Groups , 选择Create Group或者新建->Group, 在弹出的对话框中填写Group name, 然后点击Add按钮,在弹出的窗口中选择属于这个组的成员,然后点击 OK。

wKiom1PhvUnA5OnhAADLBqjyz6k053.jpg

我们看到已经创建成功,如果以后还需要添加成员, 那么我们右键相应的组名,Edit即可。

2.4 为用户或组设定权限

在新创建的版本库上 MyRepos上单击右键, 选择属性,如图:

wKiom1PhvtGC-41aAAEPExXe1UY336.jpg

    在弹出的对话框中,选择Security选项卡,点击Add按钮就可以添加用户或组,Remove就能删除用户或组,然后选中某个用户或组,再选择Permissions中的某种权限,即可。一目了然,很简单。

wKioL1PhwNOB7p-hAAENBRTLcf8920.jpg

OK,SVN服务器端的配置基本就是这些。


三、安装TortoiseSVN客户端程序

1、安装

Windows XP / Windows server 2003
If you're installing TortoiseSVN 1.8 on Windows XP SP3, you must have the latest msi installer installed. You can get that installer from Microsoft:

Windows Installer 4.5 Redistributable

注意,对于win xp或2003系统,需要安装最新的msi installer,否则将报错:

wKiom1PhtJmTckSIAAB5WV3hvGU549.jpg

我们下载补丁程序,安装后,继续安装 TortoiseSVN, 安装过程非常简单,一路Next就可以了。安装完成后,鼠标右键就能看到右键菜单中的SVN,如图:

wKioL1PhtwOxzWAXAABpJBvdZAo342.jpg


2、导入项目

        首先找到项目的目录,在项目文件夹上鼠标右键,找到SVN菜单,选择import

wKioL1PhxEbyz_TpAAEv1dzBKr0809.jpg

    然后弹出一个导入选项对话框,输入版本库URL,以及一些说明信息,然后点击确定,所选中的项目就会被导入到版本库中(远程SVN服务器上)。注意,导入必须得有相应的读写权限才可以的。

wKiom1PhxPjAYpz6AAEA40Mjy0M190.jpg


3、导出项目

    在你磁盘的适当的位置,创建一个空目录,然后点击右键,选择SNV Checkout...

wKiom1PhxcKh8MbyAACaCLDnPFU823.jpg

然后就会弹出一个 Checkout 对话框,输入版本库的URL,以及本地工作目录,注意选择Checkout Depth,有几种方式

wKioL1Phxu2RG8neAAFfzwMuwCg190.jpg

点击OK, 就会弹出一个用户验证的对话框,输入用户名和密码即可。


4、提交修改

    在你做了某些修改之后,你可以在项目文件夹下点击右键或者你修改的文件名点击右键,选择SVN Commit...,这两者的区别在于,第一个可以一次提交你在此文件夹下所做的所有文件的修改,而第二个只是提交你所选择的单个文件。

wKioL1PhyIuxWGe-AABm33T0_5s510.jpg

点击 Commit之后,会弹出一个输入更改日志的对话框,输入你对其作出的哪些修改,然后点击OK,就会向SVN Server提交修改。


5、添加文件 或者 重命名文件

    在本地的项目文件夹新创建一个文件,这个新建的文件会显示为没有版本控制的状态。这个时候,你需要告知SVN你的操作:

wKiom1PhymrDLHV9AACwlJviY2U950.jpg

加入以后,新建的文件图标会发生改变,不过此时,并没有上传到SVN服务器端。然后我们进行提交,即可

wKiom1Phyuiho2bSAABdqap4j0U771.jpg

6、删除文件

    删除文件,然后 Commit 提交,版本库中的相应文件即被删除掉

wKiom1Phy8_BMzBwAAE9trhW_aw645.jpg

7、强制写注释

    为了以后你能更清晰的看到你所做的每一次更改记录,所以每次提交的时候应该清楚的写上注释信息,而且尽量详细。

第一种方式:在客户端设置(每个客户端都可以更改,只能革命靠自觉)

使用客户端工具:TortoiseSVN 

在工作副本目录上,鼠标右键,TortoiseSVN ,选Properties,点 New ,再出现的下拉条中选 Log sizes 

然后设定提交日志的最小字符数和锁定日志的最小字符数为20,提交文本框中显示边线的字符位置设置为100,并且勾选递归应用到所有子目录。

wKioL1Phzwbg91eKAAFLJpdR5UY683.jpg


第二种方式:在服务器端配置

 在版本库的 hooks 目录下编写脚本(其实就是批处理文件)文件:pre-commit.bat 

内容为:

@echo off 
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
"D:\Program Files\VisualSVN Server\bin\svnlook" log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 提交必须写10个字以上的日志!>&2
exit 1

想修改限制长度只需要增加或减少 findstr ".............................." 中点的数量。


总结:两种方法都可以,推荐用第二种方法,这才能起到强制的作用。第一种办法谁都可以改,强制不了,只能靠自觉。 

注意:" D:\Program Files\VisualSVN Server\bin/svnlook "根据自己实际的安装路径,找svn的svnlook.exe文件的位置,使用绝对路径。

修改完重启SVN服务


8、其他功能

网页浏览:你可以使用该地址https://dcqtech-ee79b56.dcqtech1.com.cn/svn/MyRepos/  在网页上浏览项目,同样需要和前面一样的密码。

SVN Update:与服务器版本对比,进行更新

Revert:取消上一次的操作(只针对客户端,服务端不做改动)

Add:增加新目录或新文件至项目

Revision Graph:版本示意图

Show log:查看版本日志及不同版本间相互比较

Check for modifications:同服务器上的项目版本进行比较,并可做相应的修改。