我相信各位都应该对SVN不会陌生吧,我相信绝大多数人都使用过,但是并不是人人都自己配置过SVN服务器。下面就是我配置SVN服务器的步骤,以及在配置过程中碰见的一些问题,在此记录,希望对你有所帮助。
安装
双击运行“配套安装程序”目录中Slik-Subversion-1.6.12-win32.msi,安装目录可自定义. 默认安装的目录:C:Program FilesSlikSvn;
双击运行“配套安装程序”目录中TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi,这是一个将SVN集成到windows shell中的GUI管理工具,推荐使用。
双击运行“配套安装程序”目录中LanguagePack_1.6.5.16974-win32-zh_CN.msi,这是TortoiseSVN的汉化包。
创建版本库,该库中存放所有Subversion项目:
首先,手动创建一个目录,如C:svnDBDB1
然后,创建版本库:
第一种方式:在DOS命令行中运行svnadmin create C:svnDBDB1
第二种方式:在DB1目录中,单击鼠标右键,选择[TotoiseSVN]->[在此创建版本库...]进行创建,
以上工作完成后,在yxv3目录中可看到以下内容:
4个目录,两个文件。
其中:
conf目录存放配置信息;
db目录就是所有版本控制的数据文件;
hooks目录放置hook脚本文件的目录;
locks用来放置Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端;
format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
配置
通过自带服务平台Subserver的实现
打开/conf/目录,打开svnserve.conf找到以下行,去除每行开头的#:(特别注意不要在行的前面留空格)
[general]
anon-access = none #保证只有认证用户可以访问,即关闭匿名访问
auth-access = write #通过认证的使用权限
password-db = passwd #指定了用户密码文件
打开/conf/目录,打开passwd文件,增加用户,一行一个,存储格式为“用户名 = 密码”
[users]
# 定义用户信息
lvgang = lvgang
luotong = luotong
创建及启动SVN服务
打开DOS窗口,使用sc创建windows服务,将当前目录指向到Subversion的bin目录下,输入:
sc create SVNService binpath= "C:Program FilesSlikSvnbinsvnserve.exe --service -r C:svnDB " displayname= "SVNService" depend= Tcpip start= auto(特别注意=后面有空格)
导入项目版本库
确定SVN服务(命令行或windows服务)运行后,
在你需要导入版本库的目录下单击右键选择[TortoiseSVN]-> [导入...],在弹开的窗口的URL框中输入版本库的目录地址(如svn://127.0.0.1/DB1, “DB1”是版本库)
点击 "确定" 执行导入,显示如下对话框,录入用户名及密码后确认
数据就全部加入SVN版本库目录树上了。
特别注意事项:
如果是中文目录的话,authz等文件,必须以utf-8的格式保存,且不能带BOM,而windows自带的记事本按utf-8保存的文件则会加上BOM,所以,如果你以utf-8格式保存好后,提交代码时,svn报"section header expected"的错时,则多半是带BOM的。以及开源的Notepad++的格式转换中的“转换为utf-8码(无BOM)”等都可以完成这个工作。