Linux下SVN服务器安装配置及客户端安装说明
- 格式:doc
- 大小:317.00 KB
- 文档页数:8
SVN使用手册目录0 SVN简介 (1)1 SVN服务器篇 (1)1.2 创建一个svn版本仓库名为svnrepos (1)1.2 设置登陆用户的用户名和密码 (2)1.3 设置用户权限 (2)1.4 修改svn服务文件 (3)1.5 启动svn版本库 (3)2 SVN客户端篇 (4)2.1 安装svn客户端 (4)2.1.1 svn的语言设置 (5)2.2 下载版本库 (6)2.3 推送版本库到服务器 (7)2.4 获取更新 (9)2.5 版本还原 (9)2.6 版本回退 (12)3 SVN分支管理篇 (13)3.1 svn分支简述 (13)3.2 svn分支管理 (14)3.2.1 建立主干分支目录结构 (14)3.2.2 创建分支 (15)3.2.3 合并分支到主干 (15)3.3 svn分支应用 (17)3.3.1 测试分支 (18)3.3.2 多分支并行 (18)3.3.3 分支合并的时机 (18)4 版本冲突篇 (18)4.1 版本冲突原因 (18)4.2 版本冲突现象 (19)4.3 版本冲突解决 (19)4.4 解决冲突的三种选择 (20)4.5 解决冲突 (21)4.6 如何降低冲突解决的复杂度 (22)附录 (23)常见SVN图标的含义 (23)0 SVN简介SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。
互联网上很多版本控制服务已从CVS迁移到Subversion。
说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
SVN是一个集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
备注:本内容经过本人练习和测试简介VisualSVN Server是用于Subversion管理的windows程序,它整合了Subversion, Apache和一个命令行管理工具。
提供了完全可视化的Subversion版本库创建,管理,人员管理的操作界面。
TortoiseSVN是subversion的客户端工具,可以通过他连接到VisualSVN Server。
细节:VisualSvn Server 已经将 Apache 和 Subversion 集成好了,生成 HTTP 的访问方式 :http://计算机名:端口号/svn/Project_Name。
windows下配置VisualSVN Server服务器(服务端和客户端)下载安装文件:服务端安装文件:VisualSVN-Server-1.6.2(下载地址)客户端安装文件:TortoiseSVN-1.5.5.14361-win32-svn-1.5.4在VisualSVN Server 的官网上提供了两个产品。
一个是VisualSVN,另一个是VisualSVN Server (下面简称Server)。
前者是一个集成到Visual Studio里的插件,功能挺强大,但是需要收费滴VisualSVN Server(服务器端)一、VisualSVN Server的配置和使用方法【服务器端】1,VisualSVN Server的安装下载安装包,解压后得到.exe文件,双击进行安装其中的Location和Repositories存放位置可以自由设置,可以两个可以不在同一盘符下。
建议复选Usesecure connection项,这时候只有443和8443两个端口可用(注意自己公司的防火墙问题,如果有冲突则需要开放该对应端口以使用)。
还有就是建议使用 Subversion身份验证模式。
(具体如果处于域里面则已包含了域验证,相对安全了)一步步Next,安装完毕,默认选择打开操作管理界面(也可以开始->程序->VisualSVN打开操作管理界面)2,添加一个代码库【Repository】右击Repository上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit,点击OK按钮,代码库就创建成功至此,完成代码库创建。
编辑版本库目录的conf/svnserve.conf文件:1)设置匿名访问[general]anon-access = none #无权限anon-access = read #只读anon-access = write #打开匿名的写访问,但这样很危险,不能控制谁来修改版本库2)使用用户和密码2.1)定义保存用户名和密码的文件和一个认证域[general]password-db = <userfile> #指出保存用户和密码列表的文件,可以是绝对或相对路径realm = example realm #定义认证域anon-access = readauth-access = write2.2)然后在userfile文件中指明用户名和密码:(格式为―用户名=密码‖)[users]harry = foopasswordsall = barpassword2.2 Windows下的svnserve配置2.2.0 安装svnserve1)从/servlets/ProjectDocumentList?folderID=91得到最新版本的Subversion(如果之前已经安装了subversion,svnserve已经在服务器上运行,需要先停止服务)2)安装subversion,然后进入subversion的安装目录,找到bin目录下的文件svnserve.exe,int13_svn.dll,libapr.dll,libapriconv.dll,libapriutil.dll,libdb*.dll,libeay32.dll和ssleay32.dll,将它们复制到服务器目录下(如C:\svnserve)。
2.2.1 以守护方式运行svnserve在命令行窗口输入svnserve.exe --daemon,则svnserve将会在端口3690等待请求,--daemon选项告诉svnserve以守护进程方式运行,这样在手动终止之前不会退出。
SVN客户端使用教程一、TotoiseSVN的基本使用方法1、签入源代码到SVN服务器假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit 文件夹,这时候的右键菜单如下图所示:点击Import,弹出下面的窗体,其中/是服务器名,本环境中在内网的访问地址为https://172.16.1.159:8443/svn/或https://ncse-5042:8443/svn/外网访问地址为https://210.76.109.99:8443/svn。
svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库:说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。
点击OK按钮,会弹出下面的窗体,要求输入凭据:在上面的窗体中输入用户名和密码,点击OK按钮:如上图所示,好了,源代码已经成功签入SVN服务器了。
这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。
2、签出源代码到本机在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。
说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。
上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入/svn/StartKit/(本环境为https://210.76.109.99:8443/svn/xx/)这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。
搞定!源代码已经成功签出到刚才新建的StartKit目录中。
目录1SVN服务器配置 (1)2权限管理 (2)2.1概念解释 (2)2.2详细步骤 (2)2.3成功案例 (5)3SVN版本冲突解决详解 (6)3.1版本冲突原因: (6)3.2版本冲突现象: (6)3.3版本冲突解决: (7)3.3.1场景: (7)3.3.2解决冲突有三种选择: (10)3.3.3解决步骤如下: (11)3.4如何降低冲突解决的复杂度: (14)4Subversion中如何checkout出单个文件 (15)4.1通过命令行操作 (15)4.2通过TortoiseSVN操作 (15)1SVN服务器配置下载SubVersion,有安装版和解压缩版设置svn_home\bin为path创建资源库,假设资源库为F:\SVNRepositoryRoot\repository,,则要分两步创建,先mkdir d:\svnroot\,这个可以使用操作系统命令创建然后用svn命令,svnadmin create F:\SVNRepositoryRoot\repository配置svn_home\conf\svnserve.conf,启用anon-access = read,并添加anon-access= write,修改配置文件特别要注意:默认没有anon-access= write,默认时anon-access=read下面是# auth-access = write去掉注释符#后,要使得anon-access顶格,即要去掉前面的空格,否则可能报需要option的错误。
当出现'目标机器积极拒绝,无法连接'或svn: Can't connect to host ...时,请依次检查下面各项1,服务器有没有运行,有没有打开相应端口如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口如果服务器是apache,检查apahce是否运行,是否打开80端口检查时可以在服务器运行netstat -na看看相应端口是否在LISTEN2,防火墙有没有开放相应端口3,客户端是否可以连接服务器的相应端口使用命令telnet 服务器IP 相应端口如:telnet 192.168.0.1 3690 有效,可测试端口是否打开启动服务,导入导出都是在服务启动后才能使用的。
SVN客户端TortoiseSVN安装配置图⽂教程SVN客户端TortoiseSVN安装配置图⽂教程本篇给⼤家介绍SVN客户端软件TortoiseSVN的安装、配置和使⽤。
64位和32位安装步骤⼀样,只是需要下载的安装包不⼀样,SVN的⽤途其实就是是版本控制。
程序名称TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi安装步骤1. 打开TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi,点击【下⼀步】1. 选择【I accept...】继续【下⼀步】2. 点击【browse】选择⽂件夹,或者默认,【下⼀步】3. 点击【Install】安装,等待安装完成。
点击【Finish】完成安装。
4. 安装完成,在任何⽬录下【右键】会显⽰SVN和TortoiseSVN两项,如下图所⽰。
5. 点击【SVN Checkout】输⼊⽂档地址,可以下载⽂档数据了。
使⽤2.1 把服务器上的资源checkout到本地第⼀次使⽤svn需要把服务器上的资源checkout到本地,以后只需要update就可以了。
Step 1,在空⽩⽬录下右键,在check outStep 2,选择⼀个仓库(Repository)URL of repository: svn server 上可以有多个repository,Blog repositary是已经创建好的仓库。
Checkout directory: 是导出到本地的⽬录。
然后点击OKStep 3, 输⼊⽤户名和密码如果是第⼀次登陆svn server,会提⽰输⼊⽤户名和密码,如下2.2 向服务器添加新的⽂档Step 1,copy a new document hereStep 2, svn addStep 3,commit2.3 向服务器添加⽬录同上2.4 更新本地的资源如果别⼈向服务器上提交了新的⽂档,你只要在Blog根⽬录点击update就可以把服务器上所有的资源都更新到本地。
一. 安装服务器(Windows)1.解压假设解压到F:\svn解压后文件列表如下:2.设置环境变量添加SVN_HOM=F:\svn设置PATH=%SVN_HOME%\bin添加SVN_EDITOR=notepad.exe3.创建仓库使用svnadmin create 仓库绝对路径命令svnadmin create F:\svn\svn_repository该命令会在F:\svn\svn_repository生成一些目录和配置文件4.修改配置文件到F:\svn\svn_repository目录下passwd文件–/conf目录下用于存放本svn库的用户名和密码,用= 分割,如:用户名= 密码;左边是用户名,右边是密码(明文)。
authz –/conf目录下用于存放本svn库的访问授权信息。
svnserve.conf — /conf目录下用于存放本svn库的全局访问控制信息用文本编辑器打开svnserve.conf加上两句[general]password-db = passwd打开同目录下同目录的passwd文件(设置用户密码)加上svnadmin = adminuser = user打开同目录的authz文件,它定义了两部分的内容:1,对组成员的定义,2,对目录的授权定义,可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,授权的选项有:只读访问(‘r’),读写访问(‘rw’),或者无权防问(”).加[/]svnadmin,user = rw二.启动svnserve -d -r 项目主目录绝对路径svnserve -d -r F:\svn\svn_repository服务器已启动三.安装SVN客户端1.安装2.连接SVN服务器安装完毕后任意位置右键弹出菜单,如下图选择将列出选择URL填svn://127.0.0.1点击OK按钮这就是我建立的资源仓库文件树3.上传文件至资源库选中要上传的内容的父文件夹右键该文件夹选择选择点击OK要求输入用户名密码将刚才在passwd文件定义的用户名密码填入点击OK参考第2步的描述即可查看上传到资源库的文件三.从服务器检出文件到本地任意位置新建文件夹,假设在桌面建立project文件夹右键该文件夹选择点击OK文件已检出到project打开project文件夹四.备份运行命令:svnadmin dump 要备份资源库绝对路径>备份目的地文件绝对路径五.恢复创建恢复目的资源库:svnadmin create 资源库绝对路径恢复到资源科:svnadmin load 目标资源库绝对路径<备份文件。
SVN使用说明详解SVN(Subversion)是一种版本控制系统,用于管理多个人共同开发的项目。
它能够追踪文件的变更,并记录每个版本的细节,使开发者能够协同工作并保持项目的可维护性。
下面将详细介绍SVN的使用说明。
1.安装SVN2.创建和配置仓库通过TortoiseSVN或命令行创建一个新的SVN仓库。
一个仓库可以包含多个项目,每个项目都有一个唯一的URL。
3.导入项目将项目文件导入到SVN仓库中。
选择项目文件夹,点击鼠标右键,选择“TortoiseSVN” - “Import”,然后填写仓库URL和描述信息,点击“OK”按钮即可完成导入。
4.检出项目检出项目意味着将SVN仓库中的项目文件复制到本地机器上。
选择一个目录,点击鼠标右键,选择“TortoiseSVN” - “Checkout”,然后填写仓库URL和本地路径,点击“OK”按钮即可完成检出。
5.更新项目6.提交变更7.解决冲突当多个人对同一个文件的相同位置进行了修改时,就会发生冲突。
SVN会自动发现并标记冲突,你需要手动解决冲突。
选择冲突的文件,点击鼠标右键,选择“TortoiseSVN” - “Edit conflicts”,在冲突标记的地方进行修改,然后选择“Mark as resolved”,最后点击“OK”按钮即可解决冲突。
8.分支和合并SVN允许创建多个分支,使得项目可以并行开发。
通过分支,可以在一些版本上继续开发而不会破坏主干。
当分支的开发完成后,可以通过合并将分支的变更合并回主干。
选择项目文件夹,点击鼠标右键,选择“TortoiseSVN” - “Merge”,选择要合并的源URL和目标URL,点击“Next”按钮,选择要进行合并的文件和目录,然后点击“Next”按钮,最后点击“Merge”按钮即可完成合并。
9.查看日志10.撤销变更当您发现自己的变更存在问题时,可以通过撤销变更来还原文件到之前的版本。
选择文件,点击鼠标右键,选择“TortoiseSVN” - “Revert”,然后选择“Revert”按钮即可撤销变更。
SVN (Subversion+tortoiseSVN)使用手册编写:高健MSN:hhjtu524@日期:2011-3-28 SVN服务搭建 (2)下载相关软件 (2)安装 (2)SVN服务器信息 (3)SVN服务基本信息 (3)SVN单工程管理 (3)创建版本库 (3)服务启动 (6)SVN工程导入 (7)SVN客户端使用 (9)工程下载 (9)文件对比 (11)文件更新 (12)文件提交 (14)新增文件 (16)删除文件 (18)SVN注册和删除服务 (20)服务注册 (20)服务卸载 (21)SVN多工程管理 (21)SVN的备份说明 (22)完全备份 (23)增量备份 (24)同步版本库 (25)导读:本文包括了服务搭建、工程管理和客户端使用(针对windows平台)等方面。
请注意SVN注册服务、SVN多工程管理(权限配置)、SVN备份说明等章节。
SVN服务搭建下载相关软件服务端Subversion官网:/ or /下载地址:win32svn /projects/win32svn/客户端tortoiseSVN官网:/ or 下载地址:/projects/tortoisesvn安装服务端是以.msi后缀名的安装文件,安装过程就不详细介绍了,按照它的提示一步步操作即可,如下图:实际安装路径是C:\Program Files\Subversion。
TortoiseSVN 客户端安装如下图:客户端的安装完成后会提示系统需要重启。
SVN服务器信息服务器类型:虚拟服务器win2003系统服务器地址:10.88.19.67账户名:administrator密码:123456SVN服务基本信息安装目录:C:\Program Files\Subversion版本库根目录:C:\svnroot(在该目录下建立工程文件夹)SVN单工程管理创建版本库在C:\svnroot\下建立空文件夹project1,然后打开命令窗口,键入svnadmin create C:\svnroot\test1 回车,会在目录C:\svnroot\project1文件夹下相应的文件,目录结构如下图:也可使用客户端工具(服务器本地客户端):新建文件夹C:\svnroot\project2(文件夹下必须是空的),在该文件夹下右击选中TortoiseSVN,如下图:以客户端建立的工程文件结构与使用命令建立完全一致,如下图:目录创建完成后,修改配置文件对版本库进行配置如下:修改配置文件(以下创建以project1为例)在C:\svnroot\project1\conf\ 目录下会看到svnserver.conf、passwd和authz三个文件,其中svnserve.conf是服务总的配置文件,配置访问方式、鉴权等,passwd是账号配置文件,authz是组和访问权限配置文件,目录结构如下图:对svnserve.conf文修改,具体如下图:这段配置文件的基本含义为:anon-access = read 匿名用户的权限,文件中为read表示拥有只读权限auth-access = write 验证通过用户的权限,文件中为write表示拥有写的权限权限包括none、read、write三个值可选,none没有权限,写包含了读权限去掉#注释时,前面不要有空格password-db = passwd密码数据存放到passwd文件中authz-db = authz表示版本库中访问路径的规则,即谁只能访问哪个目录下的文件,其他目录下的文件无法访问。
Linux下SVN服务器安装及配置记录 Linux下SVN服务器安装配置
第一章 安装 1. 采用源文件编译安装。源文件共两个,为: subversion-1.6.1.tar.gz (subversion 源文件) subversion-deps-1.6.1.tar.gz (subversion依赖文件) 注意文件版本必须一致,否则很容易产生各种奇怪的问题. 2. 上传以上两个文件到服务器上,解压。解压命令为: tar xfvz subversion-1.6.1.tar.gz tar xfvz subversion-deps-1.6.1.tar.gz 指令简介:tar 为解压命令,xfvz为tar命令的参数,用于解压tar.gz格式压缩的文件。
3. 解压后生成 subversion-1.6.1 子目录,两个压缩包解压后都会自动放到此目录下,不用手动更改。
4. 进入解压子目录: cd subversion-1.6.1
5. 执行 ./configure --prefix=/usr/local/svn ./configure时会出现以下错误:configure: error: We require OpenSSL; try –with-openssl configure failed for serf。 这是因为没有安装openssl相关包 openssl官方网址:http://www.openssl.org/ linux下openssl的安装: wget http://www.openssl.org/source/openssl-1.0.0g.tar.gz
tar xvzf openssl-1.0.0g.tar.gz cd openssl-1.0.0g 然后: ./config --prefix=/usr/local/ssl shared zlib-dynamic enable-camellia
更多详细帮助请运行 ./config --help
然后执行: make depend
Make Make test make install 编辑/etc/ld.so.conf, add to paths /usr/local/ssl/lib(可以直接在/etc/ld.so.conf.d文件夹下再创建一个.conf文件,把/usr/local/ssl/lib拷贝到里面,另外也可以在现有的.conf文件中添加/usr/local/ssl/lib这个路径,反正ld.so.conf中包含了这个文件夹下的所有.conf文件)
安装之后会在/usr/local下生成一个ssl目录,设置环境变量,在/etc/profile的PATH中增加如下内容: PATH=/usr/local/ssl/bin:/sbin/:$PATH:/usr/sbin export PATH
6.再进到subversion-1.6.1 再执行 ./configure --prefix=/opt/subversion 进行配置设定并指明安装目录. 注意prefix前是两个减号. 默认不带BDB包, 所以默认使用的是FSFS模式. 若想使用BDB模式需另外下载BDB包.建议使用FSFS模式. 指令简介:configure命令用于检查安装平台和目标特征,prefix用于指定路径。
configure完成可能会出现: You don’t seem to have Berkeley DB version 4.0.14 or newer installed and linked to APR-UTIL. We have created Makefiles which will build without the Berkeley DB back-end; your repositories will use FSFS as the default back-end. You can find the latest version of Berkeley DB here: http://www.oracle.com/technology/software/products/berkeley-db/index.html 你似乎没有Berkeley DB版本4.0.14或更新版本安装并链接至四月- util的。我们已创建Makefile文件的将建立一个没有了Berkeley DB后端,你的版本库作为默认后端使用FSFS格式。你可以找到最新版本Berkeley DB的位置。
这个提示可以跳过, 因为不使用BDB存储。 7. 执行 make 编译. 8. 执行 make install 安装. 9. 添加环境变量: vi /etc/profile 在文件最后加入: SVNPATH=$PATH:/usr/local/svn/bin export SVNPATH 10. 测试SVN是否安装成功,执行: svnserve --version 如果显示版本信息, 则安装成功. (如果没有安装svnserve,请先安装apt-get install subversion)
第二章 配置 本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。
1. 建立版本库目录,建立好的版本库目录与安装目录不在同级目录下(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
mkdir –p /opt/svndata/repos 2. 建立svn版本库(与上面目录对应) svnadmin create /opt/svndata/repos 执行此命令后svn自动在repos目录下添加必须的配置文件. 注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.
此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。 3. 修改版本库配置文件 vi /opt/svndata/repos/conf/svnserve.conf 各参数功能在配置文件的注释中有说明, 此处配置如下: [general] anon-access = none # 使非授权用户无法访问 auth-access = write # 使授权用户有写权限 password-db = /opt/svndata/repos/conf/passwd # 指明密码文件路径 authz-db = /opt/svndata/repos/conf/authz # 访问控制文件 realm = /opt/svndata/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错. 指令简介:这是svn配置文件的格式,请按照以上格式书写。 4. 配置用户 passwd文件 输入以下内容: [users] = admin = admin = username2 = password2
可以添加多个,此为用户名密码对。 5. 配置权限 authz文件 指令简介:此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子: 用户组格式: [groups] = , 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。 版本库目录格式: [:/项目/目录] @ = = 其中,方框号内部分可以有多种写法: /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。 repos1:/,表示对版本库1设置权限 repos2:/abc, ,表示对版本库2中的abc项目设置权限 repos2:/abc/aaa, ,表示对版本库2中的abc项目的aaa目录设置权限 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
示例: [groups]
MDS4000II_group = admin,zhangl [/] admin = rw viewer = r [/dev] admin = rw viewer = r * = [/baseline] admin = rw * = [/prj] admin = rw * = [/dev/01 MDS4000II] @MDS4000II_group = rw * = 注意:配置auth 、passwd和svnserve.conf一定要心细,否则客户端访问时会认证失败,如不能访问,百度和谷歌上有很多资料可供参考。
三、启动svn