搭建SVN服务端需要安装Subversion(服务端)和Tortoise(客户端)
安装完这两样东西之后,随便打开一个目录,鼠标右键任意空白处,发现右键菜单里已经多出了两个新选项
check out, TortoiseSVN,说明Tortoise安装成功
首先验证Subversion是否安装成功,进入DOS下:
输入命令 SVN help,系统显示SVN命令帮助列表,则证明Subversion已安装成功
接下来开始创建版本库,有两种方法:
方法一:很简单。打开资源管理器,进入你想要建立版本库的目录下新建个空的目录,然后在此处右键:create repository here,点OK
方法二:DOS命令
mkdir 目录名(此目录下存放版本库)
转到建好的目录下:svnadmin create版本库名
完毕
注意:当你创建好版本库之后,打开你建好的版本库目录,假设名字为repositories
这个目录下应该有自动生成的子目录,如下结构:
conf
db
hooks
locks
format
conf文件夹是个配置文件,通过更改它里面的文件可以达到添加用户,设置密码以及修改访问权限的目的,文章后面我会详细说明。
记住,千万不要手动的去更改repositories目录,否则有可能导致各种问题。
创建完版本库repositories之后,需要开启svnserve这项服务,怎么开启?看下面
DOS下:svnserve -d -r c:/share/repositories(你自己的版本库路径)
-d daemon 后台运行
-r root 以root权限
命令敲完回车,系统什么也没提示,但其实这时svnserve.exe已经启动了,可以打开任务管理器查看进程。
此时不要关闭打开的DOS窗口,否则svnserve终止。
svnserve没有启动的情况下,客户端尝试连接服务端,会出现以下信息
Unable to connect to a repository at url 'svn://172.20.1.2/share/repositories'
Can't connect to host 172.20.1.2: アクセスが拒否された
客户端跟服务端之间可以正常通信了之后,接下来开始添加用户,设置每个用户对应的版本库访问权限
进入版本库目录,打开repositories下的conf目录,关注两个配置文件,一个是passwd文件,一个是svnserve.conf
步骤一:
记事本打开svnserve.conf,找到password-db=passwd,把前面的#(注释)去掉,声明访问数据库
密码设定信息在passwd这个文件里。使此项生效,修改完保存关闭。
步骤二:
记事本打开passwd文件,这个文件用来添加和设定用户密码,格式为:username=password
假设我在users项下添加一行:taoism=3633,于是乎,我就在SVN的服务端有了个新用户名字为taoism,密码是3633
至于用户权限的分配,还是回到刚才的svnserve.conf配置文件,此处略过。
客户端基本操作主要有如下:
check out 把所有项目文档,按照整个树形结构下载到客户端work copy
update 参照服务端文档,对本地文档进行差分更新,可以是特定的文件也可以是整个项目
commit 向服务端提交你的更改
show log 可以查看文档变更,操作记录,当前revision
update to revision 更新或者还原到指定版本
revert 回滚
export 从服务端导出文档到本地,与check out不同的是,导出后的文档进行任何更改都不会对服务端有任何影响
版本库建好了,用户也创建了,现在开始往版本库存放项目文档,此处需要注意的是,你不能直接找到需要加载的项目文档直接复制粘贴到版本库
这种做法可能导致版本库无法识别到你所添加的文件,正确的做法应该是,找到目标文件鼠标右键,选择import,接下来会弹出一个对话框让给你填写
版本库URL,如果服务器跟客户端都在同一台机器上,可以把URL写为:file:///c:/share/repositories, 如果是远程是客户端往服务端版本库添加文档,则地址应该是svn://172.20.1.2/share/repositories。
填写完URL点OK,开始往服务端添加项目文档。此处如果出现如下错误:
期待されるファイルシステム形式は1から4の間ですが実際の形式は6です
说明你的TortoiseSVN(客户端)版本低于服务端(Subversion)版本,解决办法是下载个低版本的Subversion,使你机器上TortoiseSVN版本等于或者高于Subversion版本即可。
到此为止,SVN repository的服务器与客户端算是搭建完毕了,由于Subversion不支持浏览器访问功能,在实际开发过程中,这是非常不方便的,所以就需要搭建一个基于web的Subversion服务端。比较常见的有VisualSVN, Collabnet Subversion Edge,二者都内置了Apache服务器,可实现浏览器访问。
Collabnet Subversion Edge简介
Collabnet Subversion 是一种企业的Subversion分发版,它包含经过认证的二进制文件,针对于其他工具的插件以及企业就绪的加载项。
下载地址:http://www.collab.net/downloads/subversion 选择Subversion Edge
安装完成后根据提示访问http://172.20.1.2:3343/svn/repositories页面,帐号为admin,密码admin
host name 更改为服务器IP地址,端口默认3343,可根据需要自行更改。
DOS下查看使用中端口指令:
netstat -ano | find "3343"
然后根据查找所得pid,找出对应应用程序
tasklist | findstr "pid"
客户端访问版本库:http://172.20.1.2:80/svn
服务端可以创建新版本库,添加用户,赋予权限。
Collabnet Subversion搭建SVN服务器相对比较简单,新手用起来省时省力,I recommand it !