软件下载
服务器和客户端安装
建立版本库(Repository)
配置用户和权限
运行独立服务器
初始化导入
基本客户端操作
建立多版本库
1、软件下载
下载Subversion服务器程序。
下载Subversion的Windows客户端TortoiseSVN及简体中文语言安装包。
http://tortoisesvn.net/downloads
svnservice下载
http://bbs.iusesvn.com/attachment.php?aid=12
2、服务器和客户端安装
服务器安装,直接运行安装程序,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
安装TortoiseSVN,同样直接运行安装程序,按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
重启完毕后安装简体中文语言包, 然后在随便一个目录右击, 就会发现多出了一些SVN相关菜单, 选择其中的TortoiseSVN, 再选择子菜单"Settings", 设置Language为"中文(简体)"。
3、建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create F:\svn\repository
就会在目录F:\svn\repository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录D:\svn\repository下"右键->TortoiseSVN->在此创建文件库",然后可以选择版本库模式,这里使用默认,fsfs方式即可,然后就创建了一系列目录和文件。
4、配置用户和权限
打开F:\svn\repository, 你会发现已经多了一些目录和文件, 打开conf子目录, 打开svnserve.conf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行. 里面的英文注释已经详细说明了各种设置的含义, 最后你设置[general]小节中行前没有#号的内容为:
anon-access = none
auth-access = write
password-db = passwd
一定要把空格给删了,否则会出错svnserve.conf:12: Option expected
含义是:
未验证用户无任何权限 (如果把none修改为read就是给予读权限)
已验证用户给予写权限 (当然也能读)
密码数据存放到passwd文件中
然后打开同目录的passwd文件来设置帐户:
同样, 设置[users]小节中行前没有#号的内容, 例如:
admin =ren
含义是:
用户admin的密码为ren
5、运行独立服务器
安装subversion的bin目录下不知为何没有svnservice.exe,将svnservice.exe放在subversion的bin目录下。
在dos控制台状态下cd 进入subversion的安装目录的bin目录,
svnservice -install -d -r F:\svn\repository (该操作中可能出现CreateService failed - Commandline set: "-d" "-r" "F:\svn\repository "错误,此时执行svnservice -remove命令即可)
sc config svnservice start= auto
net start svnservice
在win7下可能出现如下问题
OpenSCManager FAILED 5: Access is denied.
怀疑是win7和vista的UAC问题,打开开始菜单,找到命令行的快捷方式,右键,以管理员身份运行,
svnserivce -install -d -r 。。。。。。
6、初始化导入
打开"我的电脑", 在你需要进行版本控制的目录上右击, 选择TortoiseSVN, 再选择子菜单"导入...", 设置"文件库url"为svn://localhost 点确定后就会提示文件正在导入.
需要注意的是,这里是svn文件库与svn服务是同一台计算机的情况, 所以可用localhost, 其它机器如果要访问svn服务, 应该用svn://svn服务器的IP地址, 例如svn://192.168.1.125
7、基本客户端操作
创建一个准备用来存放版本控制工程的目录, 例如d:\project, 然后在"我的电脑"中右击这个目录, 选择"SVN取出...", 设置"文件库url"为svn://svn服务器的IP地址, 接下来会问你用户名和帐号, 你就填写前面搭建服务器端所设置的用户admin密码zhang
点确定后就会提示文件正在取出到d:\project
至此, SVN客户端配置完成, 你会看到d:\project及其下面的文件都被标记了绿色对勾
简单日常使用:
要取得工程的当前的最新版本, 右击d:\project, 选择"SVN更新"
你更改工程后, 要将你的修改更新到SVN, 右击d:\project, 选择"SVN提交" ,谨慎的话请先更新到SVN最新版本后再提交。
8、建立多版本库
svn 在一个版本库下管理多个工程,不会为每个工程建一个版本库,这样会导致版本库跳跃,所以有时必须建立多个版本库
svn 在一个版本库下管理多个工程会导致版本库跳跃,所以有时必须建立多个版本库
(1)、把所有的版本库的放在一个统一的目录下(如F:\svn),在此目录下我们要建立两个工程的版本库Respontory1和Respontory2(必须先建好这两个文件夹)。
(2)、创建第一个项目project1版本库,命令:svnadmin create F\svnroot\Respontory1
(3)、创建第二个项目project2版本库,命令:svnadmin create F:\svnroot\Respontory2,当然这两步也可以用TortoiseSVN建立
(4)、为了便于管理,将所有版本库的密码和权限设置在同一个文件下面,操作步骤如下:
A、取出Respontory1下面conf文件夹下的authz和passwd两个文件到svn根目录下面
B、修改每个版本库目录conf文件夹下面的svnserve.conf文件, 将
# anon-access = read,# auth-access = write,# password-db = passwd,# authz-db = authz
修改为:
anon-access = none,auth-access = write,password-db = ../../passwd,authz-db = ../../authz
(password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径)
如果不需要分角色,那么可以不设置authz-db
(5)、dos控制台状态下cd 进入subversion的安装目录的bin目录,
svnservice -install -d -r F:\svn\ (该操作中可能出现CreateService failed - Commandline set: "-d" "-r" "F:\svn\repository "错误,此时执行svnservice -remove命令即可)
sc config svnservice start= auto
net start svnservice
到此为止就配置成功了你可以将两个工程导入到这两个版本库中,而且版本号不相互影响。