SVN (Subversion) 的安装配置与应用(linux和windows)

一、什么是SVN(Subversion) 1、SVN,即Subversion,是一个自由开源的版本控制系统,可以将数据恢复到早期版本, 或者检查数据修改的历史, 这些数据可以是源代码,也可以是其他类型的文件。 在SVN出现之前,CVS是开源世界版本控制工具的事实标准, 然而CVS存在一些固有 的缺陷,并且修复这些缺陷需要耗费很大的精力,于是,SVN作为CVS的继任者出现了。 2、SVN:可以简单理解为一个版本控制器,主要实现多人协作开发文件共享和版本 控制的一个过程。 3、SVN的特点 1)根据文件修改的次数自动增加版本号以便找回历史文件 2)防止多人开发时同时修改一类文件导致文件覆盖或被删除 3)及时更新和获取其他开发者的最新数据和文件 4)有助于项目开发时的安全,责任细分化 二、SVN 控制器的工作原理和流程 1、通过每个用户提交来的数据生成版本 避免冲突和覆盖,并根据记录用户行为 三、安装与配置SVN服务器与客户端 1、服务器端软件:Setup-Subversion-1.6.5.msi(win32) 客户端软件:TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi(win32) 2、安装好客户端的与服务端的后,新建server_svn文件夹-->右键-->TortoiseSVN-->create respository here 3、配置库文件的内容在 conf目录下面 authz(权限配置)、passwd(用户配置)、svnserve.conf(核心配置) 详细配置看server_svn文件夹 4、启动SVN服务器(cmd命令开启):我的路径是:D:\Program Files\Subversion_svn_server\bin\svnserve.exe -d -r D:\gxlweb\server_svn(不提示错误即成功) 5、连接SVN服务器:右键-->TortoiseSVN-->import.. ,输入svn://127.0.0.1-->输入账号密码即可连接。 6、增加SVN到windows服务中并自动启动(cmd添加):sc create svnservename binpath= "D:\Program Files\Subversion_svn_server\bin\svnserve.exe --service --root D:\gxlweb\server_svn" (我的路径),删除是:Sc delete svnservename(服务名称) 7、其他具体操作技巧不详说了。     以下是在linux下的安装方法与配置 第一章 安装 1. 采用源文件编译安装。源文件共两个,为: subversion-1.6.4.tar.gz (subversion 源文件) subversion-deps-1.6.4.tar.gz (subversion依赖文件) 注意文件版本必须一致,否则很容易产生各种奇怪的问题. 下载地址:http://subversion.ti?gris.org/downloads/s?ubversion-1.6.4.tar.?gz http://subversion.ti?gris.org/downloads/s?ubversion-deps-1.6.4?.tar.gz 2. 上传以上两个文件到服务器上,解压。解压命令为: tar -zxvf subversion-1.6.4.tar.gz tar -zxvf subversion-deps-1.6.4.tar.gz 指令简介:tar 为解压命令,xfvz为tar命令的参数,用于解压tar.gz格式压缩的文件。 3. 解压后生成 subversion-1.6.4 子目录,两个压缩包解压后都会自动放到此目录下,不用手动更改。 4. 进入解压子目录: cd subversion-1.6.4 5. 执行 ./configure --prefix=/opt/subversion 进行配置设定并指明安装目录. 注意prefix前是两个减号. 默认不带BDB包, 所以默认使用的是FSFS模式. 若想使用BDB模式需另外下载BDB包.建议使用FSFS模式.两种模式比较参考以下链接: http://doc.iusesvn.com/show-21-1.html 指令简介:configure命令用于检查安装平台和目标特征,prefix用于指定路径。 6. 执行 make 编译. 7. 执行 make install 安装. 8. 添加环境变量: vi /etc/profile PATH=$PATH:/opt/subversion/bin export PATH 在文件最后加入 9. 测试SVN是否安装成功,执行: svnserve --version 如果显示版本信息, 则安装成功。 如果出现: -bash: svnserve: command not found 可能需要重启下服务器:reboot 第二章 配置 本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。所以每次开始 一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径, 本地路径等信息。 1. 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录) mkdir -p /opt/svndata/repos 2. 建立svn版本库(与上面目录对应) svnadmin create /opt/svndata/repos 执行此命令后svn自动在repos目录下添加必须的配置文件. 注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库. 此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。 3. 修改版本库配置文件 首先 cd /opt/svndata/repos/conf/ 进入到这个目录下看看里面有什么文件 ls authz passwd svnserve.conf 有了这三个文件就可以进行配置了,如果没有则需要手工建立 4.每个文件配置如下: svnserve.conf: [general] anon-access = read #控制非鉴权用户访问版本库的权限 auth-access = write #控制鉴权用户访问版本库的权限 password-db = passwd #指定用户名口令文件名 (一般只开启这个要用密码访问) authz-db = authz #指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制 realm = /opt/svndata/repos #指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件 passwd: [users] # harry = harryssecret # sally = sallyssecret gxl = 123456 gxl001 = 123456 (格式:用户名 = 密码 ) authz: [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe adminss = gxl,gxl001 [/foo/bar] adminss = rw # &joe = r # * = 5.查看svn服务是否起来了 lsof -i:3690 svn默认的端口号 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME svnserve 21643 root 3u IPv6 29208 TCP *:svn (LISTEN) 显示上面的信息说明已经起来了,需要用 kill -9 21643 然后 svnserve –d –r /opt/svndata/repos/ 启动服务, 以deamon方式运行。 本系统采用svnserve方式, 这是小团队项目的推荐方法. 这种方法维护最少, 配置最简单. 指令简介:此指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。3690是默认端口, 可以使用“–listen-port=”或者“–listen-host=”来指定其它端口。-r选项用来指定svn服务的根目录, 这样用户就可以使用相对路径访问,而不用提供完整路径。 6.linux 端svn服务器到这里已经好了,windows端安装个svn客户端就可以访问了   第三章 开机启动 编辑 vi /etc/rc.local 文件 在文件最后加入 svnserve -d -r /opt/svndata/repos/即可 参考转载:http://apps.hi.baidu.com/share/detail/30798694 常用到的命令: svnserve -d -r /opt/svndata/repos/ (以/opt/svndata/repos/里面的配置开启svnserve的服务) lsof -i:3690 svn默认的端口号 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME svnserve 21643 root 3u IPv6 29208 TCP *:svn (LISTEN) 显示上面的信息说明已经起来了,需要用 kill -9 21643 然后 svnserve –d –r /opt/svndata/repos/              
posted @ 2012-03-06 20:59  gxldan  阅读(193)  评论(0编辑  收藏  举报