什么是Subversion
- Subversion 就是一个自由/开源版本控制的软件,它记录你每次对数据仓库的修改,并能使你找回某一个时刻修改的版本文件。它的核心就是数据仓库,你需要把你的文件提交到数据仓库,并更新数据仓库的文件,及根据需要能通过版本找到当时的数据。
- 所以Subversion 只需要在服务端进行安装即可。
什么是TortoiseSVN
- TortoiseSVN就是版本控制的客户端,通过TortoiseSVN将文件上传,更新到数据仓库,并查看版本,下载指定版本的文件。
安装
- Subversion安装的版本与TortoiseSVN安装的版本号好像并没有多大的关联,不过保险起见最好版本上不要差的太远。
安装 Subversion
- 到官方网站(http://subversion.tigris.org/)下载最新的安装程序(如Setup-Subversion-1.6.5.msi),注意64位与32位的区别。
- 安装一直默认下一步就好。
- 中间有一个步是让你选择modules for apache 2.2.x 或2.4.x的过程,我们并没有安装apache则无所谓(安装apache只是说可以通过浏览器来访问数据仓库,apache 的安装并不是必要的)。
安装 TortoiseSVN
- 从官方网站 http://tortoisesvn.NET/downloads 获取最新的 TortoiseSVN(如TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi),注意64位与32位的区别 。
- 安装一直默认下一步就好。
- 还可以下载汉化包进行汉化。
- 安装一路下一步即可。
- 将TortoiseSVN语言设为中文。
使用
- 为了测试方便,我只在一台机子上测试。
- 建立数据仓库
- 新建一个文件夹resources
- 在这个文件夹下创建仓库
- conf 该仓库的配置文件信息(仓库的用户访问帐号、权限等)
- db 数据实际存储的位置
- hooks 放置hook脚本文件的目录
- locks 用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端
- format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
- 修改配置文件 conf/svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
这几行前面的#注释去掉,记住不能留空格
- 修改配置文件 passwd
harry = harryssecret
sally = sallyssecret
这两行前面的#注释去掉,记住不能留空格
这是账户与密码,打开后提交,修改或下载文件时需要验证,当然你可以在下面继续添加账号和密码
如:
xx = 123456
-
修改配置文件 authz
-
authz主要是用于配置用户对特定目录与文件的读写权限的,不需要用svnserve.conf中关掉即可,具体的再补。
-
创建服务
-
以管理员权限打开cmd
-
执行语句
sc create svnservice binPath= “H:/Program Files/Subversion/bin/svnserve.exe --service -r H:\svnhome\resources” DisplayName= SVNService depend= Tcpip start= auto
- svnservice 是服务名,启动,停止,删除时要用到。
- binpath 指Subversion安装目录下svnserve.exe的路径
- H:\svnhome\resources 仓库路径
- DisplayName 服务在服务列表的展现名
- 打开服务(通过服务打开也行,再补充上停止和删除服务的命令)
1.启动svn
sc start svnservice
2.停止
sc stop svnservice
3.删除服务
sc delete svnservice
-
服务搭好后就可以直接使用了(我预先提交了一个demo.txt的文件上去)
- 下载demo.txt文件到G:/svn目录下
- svn://localhost/+仓库内已有的目录或文件路径
其它svn的使用方式在这边就不提及了,并不是我关心的重点。
- 再补充一下多仓库时,创建服务的写法
- 我在svnhome下建了两个仓库
- 创建的语法就变成了
sc create svnservice binPath= “H:/Program Files/Subversion/bin/svnserve.exe --service -r H:\svnhome” DisplayName= SVNService depend= Tcpip start= auto
之前的H:\svnhome\resources变成了H:\svnhome,说明多仓库的时候,只需要到上级公共目录就好
- 访问的时候根目录改为
svn://localhost/liut
svn://localhost/resources
- 另外好像一台服务器上Subversion就只能建一个服务,多仓库的时候就必须放在同一个目录下按如上方法处理。不能说这边一个仓库那边一个仓库,然后分别建服务。
- 以上
转载自原文链接, 如需删除请联系管理员。
原文链接:subversion与TortoiseSVN的安装与使用,转载请注明来源!