- linux下移植的版本控制器
- 默认端口: 3690
- 目录结构
- conf:配置文件
- db:数据库
- hooks:勾子(自定义功能)
- locks:文件锁
- 命令
- 服务器
- svn —version
- svnadmin create c:\svn # 创建仓库
- hooks勾子 locks锁 conf db
- svnserve -h
- svnserve -d -r c:\svn # 启动服务(-d是后台运行,windows不支持,需要创建服务)
- —listen-port 3691 指定监听端口
- windows 下注册服务
- sc create 服务名 binPath= “d:/suversion/bin/svnserve —service -r c:\svn” displayName= “显示名”
- 注意双引号前面要有空格
- sc delete 服务名
- sc create 服务名 binPath= “d:/suversion/bin/svnserve —service -r c:\svn” displayName= “显示名”
- 使用多个仓库
- svnadmin create d:\svn2 创建仓库以后
- svnserve -d -r d:\svn2 —listen-port 3691 配置用另一个服务端口启动该仓库 # svn默认启动端口是3690
- svn://192.168.10.3:3691 来访问该仓库
- 客户端
- 添加项目
- svn add test/
- svn ci -m “first” # svn commit -m “fisrt”
- ci是checkin
- 检出
- svn checkout svn://192.168.0.2/framework
- 显示所有分支(目录)
- svn ls svn://192.168.0.2/fr —verbose
- 创建分支
- svn copy svn://192.168.0.2/repo/trunk/ svn://192.168.0.2/repo/branches/try-sth -m ‘make branch try-sth’
- 注意trunk后面要有/
- svn copy svn://192.168.0.2/repo/trunk/ svn://192.168.0.2/repo/branches/try-sth -m ‘make branch try-sth’
- 更换本地分支
- svn switch svn://192.168.0.2/repo/branches/try-sth
- 添加项目
- 服务器
- 配置
- conf/svnserve.conf
- anon-access = read # 匿名用户权限
- auth-access = write # 登录用户权限
- write权限包括read权限
- # none没有验证无权限(匿名权限)
- password-db = passwd # 加载conf/passwd文件(中的用户帐户)
- authz-db = authz #开启权限控制
- 同目录authz文件中配置权限
- [/] # 对根目录设置权限
- = r # 所有人都可读
- outrun = rw # 配置所有版本库只读,outrun可读可写
- @admin = rw # @组名 对组进行引用
- realm = aa
- 认证域名称, 本svn路径为 svn://192.168.0.2/aa
- conf/authz
- conf/passwd
- [groups]
- admin = outrun
- [groups]
- 例子
- authz
- [groups]
- admin = a1, a2
- [/]
- @admin = rw
- a3 = rw
- = r
- passwd
- [users]
- a1 = 123
- a2 = 123
- a3 = 123
- svnserve.conf
- [general]
- anon-access = none
- auth-access = write
- password-db = passwd
- authz-db = authz
- realm = trunk
- force-username-case = none
- authz
- conf/svnserve.conf
- 工具
- tortoiseSVN
- 下载
- 右键 svn checkout 选择版本 下载 (show log 查看日志)
- 上传
- 第一次提交 右键 tor…/import
- svn://192.168.10.188 # 输入用户名、密码登录
- 第二次提交 右键 commit
- 还原
- 右键 tor…/Revert 还原其中的文件
- 多人
- 右键 svn update ,更新另一个人提交的文件内容
- 新建文件的提交
- tor../add 或 commit的时候选择该文件
- tor./Repo-browser,浏览仓库
- 加锁文件 # 只有自己在不提交更改的前提下才可以解锁
- tor../get lock # 不会改变版本
- tor../release lock # 解锁,但是新下载的工程不可以再解锁,如果删除原工程则无法解锁
- 冲突
- 当前版本已经有人修改后commit的话提示版本已经过时
- update:下载所有版本,右键 tor../edit conflicts → mark as resolved确定解决
- 避免冲突:减少公共修改时间,重写前更新
- 使用经验
- TortoiseSVN → Setting → Saved Data 可以清空自动登录
- 下载
- svn的myeclipse插件:
- eclipse6中不能用,eclipse7每次报错,能用,eclipse8报错一次,能用 eclipse10不报错
- 1.复制插件文件夹features与plugins到/myeclipse 10/dropins/文件夹中
- 2.创建目录/myeclipse 10/my_plugin/svn/
- 复制插件文件夹features与plugins到/myeclipse 10/my_plugin/svn/文件夹中
- /myeclipse 10/dropins/添加svn.link文件 ,内容为:path=my_plugin\svn # 这里写相对路径
- 3.使用:重启myeclipse,弹出确认窗口(也可以从window → show view中找到svn的视图)
- 项目:右键→share project 上传项目到svn(bug 第一次只上传空文件夹,再右键Team/提交 时上传项目文件)
- 再右键就可以对该项目进行一系列的操作了
- 导入项目:file → import → svn
- 项目:右键→share project 上传项目到svn(bug 第一次只上传空文件夹,再右键Team/提交 时上传项目文件)
- rapidsvn
- tortoiseSVN