1. 配置SVN服务器
1.1 安装 subversion (跨平台版本管理服务器)
1.2 建立仓库reposity
命令: svnadmin create d:/reposity
利用Tortoise图形工具,创建仓库
1.3 修改配置文件
打开/conf/svnserve.conf,取消下面几项注释
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
打开/conf/passwd,添加用户名及密码
scada = 12345
打开/conf/authz,配置用户权限, 赋予scada用户读写权限
[/]
scada = rw
1.4 启动服务
svnserve -d -r d:/reposity
1.5 VisualSVN的使用
在windows平台下可以使用VisualSVN代替subversion命令行,全部GUI风格,可以很方便的管理仓库和用户权限分配
2. SVN到添加到windows服务并自启动
启动和删除服务:
sc create svnserve binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service --root D:\reposity"
sc delete svnserve
3. TortoiseSVN 的使用
3.1 建立test1目录,添加文件
3.2 文件的锁定和操作
显示工作目录: svn://127.0.0.1
当多人操作某一文件时,最好加锁,防止其它人的操作, 操作完成之后一定要解锁; 否则其它人无法进行任何修改.
锁定后,文件图标显示一小锁:
由于该文件锁定,导致其它用户修改失败
操作完成后,释放文件锁
3.3 文件回溯至特定日期版本
4. 与vs10的整合
4.1 下载并安装vs10插件: AnkhSvn
4.2 上传初始项目至服务器
4.3 下载项目至本地
安装好AnknSvn后,会出现Subversion Project这个菜单项
输入svn服务器地址:
当修改代码,会发现代码图标变成红色,然后提交代码,与Tortoise使用习惯差不多,比较方便
5. 错误列表
使用svn过程中,由于使用不当,经常会出现很多错误
File 'alm_jna_dll.pro' is out of date; try updating
原因: 该文件不是最新的,无法提交旧版本; 先update到最新版本,修改后再commit
Previous operation has not finished; run 'cleanup' if it was interrupted
这个错误比较常见,因为某些任务没有成功执行,被中断; 导致svn无法使用. 提示 cleanup 刷新一下仓库
解决: 右键 -> TortoiseSVN -> Clean up , 可能会成功, 也可能会再次弹出上述错误对话框,看来进入死循环了. 用 navicat 或 sqlite 打开 $root/.svn/wc.db 清空 work_queue 表,再次 Clean up. 这是因为该任务无法被执行(可能是因目录被使用,无法删除某个文件目录 ...),一直储存系统记录中, 强制性清空 svn 工作队列