一、Linux-SVN的介绍及使用方法
1. SVN简介
SVN 是subversion简称,是一个开源的版本控制系统。
我们在解bug过程中主要用于对解决某个bug而引起代码变动的情况(俗称patch)的提交,系统集成组在某一时间会取出SVN中一定阶段内提交的patch进行集成,从而更新系统的版本。
linux系统中安装svn,主要使用命令apt-get install subversion
2. SVN使用
2.1 从SVN服务器拷贝svn目录
命令:$ svn co http://255.255.255.255(IP地址)/svn/
可先登录http://255.255.255.255/svn,输入用户名和密码(需在管理员处开通相应上传下载权限)
①svn add命令
用于将patch提交至本地版本库(加入版本控制),还未提交至远程服务器,不会更改远程(http://255.255.255.255/svn/)上的内容。
另外,svn revert是撤销此次添加(这里不常用)。
$ svn add 007_fix_name_issue_000000.patch
该命令执行后,终端显示情况如下:
②svn commit命令
将本地版本中添加的文件上传到远程服务器上,更新服务器上的内容。
$ svn commit 007_fix_name_issue_000000.patch -m "fix name issue (as an example)"
其中-m 表示-message,“”中的内容表示该patch具体修改问题的描述信息,描述信息必不可少!有助于后续patch提交与否的验证。
该命令执行后,终端显示情况如下:
③svn update命令
更新本地版本库,与远程服务器上的版本保持一致。
$ svn update
该命令执行后,终端显示情况如下:
④svn log命令
查看当前目录下提交patch的log信息。
$ svn log
该命令执行后,终端显示情况如下图,可看到最新的版本r739对应的message内容。
若没有最新版本信息,可能没有svn update,或者操作有误。
2.4 svn del命令
在当前目录下使用svn del 命令,只能删除本地版本库内对应文件,因此还需svn co mmit [+] 当前目录-m [+] message,来删除远程服务器中对应文件,即提交当前目录,具体如下:
$ svn del
$ svn commit ./ -m “[some message]”
同样之后svn update、svn log 进行更新和验证。
注意:上述svn操作对目录文件等其他类型文件同样适用。