最近项目中需要在SVN中做自动检查,所以研究下SVN和相关内容,这里把SVN的配置和安装方法记录一下。
一. 安装SVN
1. 因为要在虚拟机下工作,所以采用源码的方式安装SVN,先去http://subversion.tigris.org下载这两个文件(版本号不固定):
subversion-1.6.1.tar.gz
subversion-deps-1.6.1.tar.gz
以上版本需要一致。
2. 上传以上两个文件到服务器上(可以使用scp命令),解压,安装。解压命令为:
tarxfvz subversion-1.6.1.tar.gz
tarxfvz subversion-deps-1.6.1.tar.gz
解压后生成 subversion-1.6.1 子目录,两个压缩包解压后都会自动放到此目录下,不用手动更改。
进入解压子目录:
cd subversion-1.6.1
./configure –prefix=/opt/subversion
make && make install
经典的版本查看已确认是否安装成功:svn --version,输出版本号表示安装成功。
二. 配置和创建
1. 创建一个本地的仓库:
svnadmin create /Users/apple/svn
在/Users/apple/svn文件夹生成一些文件夹和文件。
修改/svn/conf目录下的三个文件:
打开svnserve.conf,将下列配置项前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
打开passwd,在[users]下面添加帐号和密码,比如:
[users]
admin=admin
表示用户名和密码都是admin,就像你的路由器一样。
打开authz,配置用户组和权限
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开
[groups]
mypgroup=admin
表示将刚刚创建的admin用户加入到mygroup这个组里去。
然后给这个组赋予权限,使用[/]代表svn服务器中的所有资源库
[/]
@mypgroup= rw
表示mypgroup这个组有读和写的权限。
2. 启动仓库
svnserve -d -r /Users/apple/svn 启动刚刚创建的仓库,没有消息就是好消息,说明启动成功。
三. SVN使用
1.从本地导入代码到服务器(第一次初始化导入)
svn import /Users/apple/Documents/eclipse_workspace/weibo svn://localhost/mycode/weibo --username=admin --password=admin -m "init import"
我解释下指令的意思:将/Users/apple/Documents/eclipse_workspace/weibo中的所有内容,上传到服务器mycode仓库的weibo目录下,后面双引号中的"初始化导入"是注释
2.从服务器端下载代码到客户端本地
在终端中输入svn checkout svn://localhost/mycode --username=admin --password=admin /Users/apple/Documents/code
我解释下指令的意思:将服务器中mycode仓库的内容下载到/Users/apple/Documents/code目录中
3.提交更改过的代码到服务器
在步骤2中已经将服务器端的代码都下载到/Users/apple/Documents/code目录中,现在修改下里面的一些代码,然后提交这些修改到服务器
1> 打开终端,先定位到/Users/apple/Documents/code目录,输入:cd/Users/apple/Documents/code
2> 输入提交指令:svn commit -m "修改了main.m文件"
这个指令会将/Users/apple/Documents/code下的所有修改都同步到服务器端,假如这次我只修改了main.文件
可以看到终端的打印信息:
Sending weibo/weibo/main.m
Transmitting file data .
Committed revision2.
4.更新服务器端的代码到客户端
这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的/Users/apple/Documents/code目录,然后再输入指令:svn update
5.至于svn的其他用法,可以在终端输入:svn help