SVN_使用手册
- 格式:pdf
- 大小:490.85 KB
- 文档页数:26
SVN 服务器建立服务器建立//使用使用手册手册手册周宇辉周宇辉 20082008--0707--04目录1. SVN介绍 (3)1.1版本控制 (3)1.1SVN (3)1.2相关概念 (5)2. SVN服务器的建立 (7)2.1基于SVN协议的服务端 (7)2.2基于HTTP协议的服务端 (8)2.3SVN密码管理 (9)2.4SVN权限管理(实例) (10)2.5服务器端监视 (12)3. 客户端的使用 (14)3.1T ORTOISE SVN (14)3.1.1 工作目录 (16)3.1.2 与BeyondCompare集成 (16)3.1.3 提交修改 (17)3.2S UBCLIPSE (18)3.2.1 安装 (18)3.2.2 取得工程 (20)3.2.3 提交成果 (Commit) (23)3.2.4 查看历史 (24)3.2.5 获取特定版本 (24)3.2.6上传新文件 (25)4. 注意事项 (26)1. SVN 介绍介绍1.1 版本控制简单的讲,版本控制可以让你:• 在开发过程中保存产品的中间结果 • 获取你之前所保存的任一中间结果• 并对一个阶段的产品进行打包(Label, Tag) •对任两个中间结果进行比较图1-1 版本控制版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间做出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。
1.1 SVNSVN SVN 全名Subversion,即版本控制系统。
SVN是一个跨平台的软件,支持大多数常见的操作系统。
作为一个开源的版本控制系统,Subversion 管理随时间改变的数据。
这些数据放置在一个中央资料档案库 (repository) 中。
这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。
SVN操作手册2020年8月6日目录一、 MyEclipse中SVN的操作 (4)1. 添加新的SVN资源库 (4)2.检出项目 (5)3.将修改的文件提交到服务器上 (18)4.删除文件 (19)5.文件冲突 (19)6.文件恢复到编辑之前的版本 (22)7.恢复到以前提交的版本 (23)8. 创建分支/标记 (24)9. 切换到分支 (27)10. 合并分支到主干(合并主干到分支与此相同) (30)11. 合并时文件有冲突 (32)二、本地SVN客户端的操作 (34)1. 检出 (34)2. 添加文件(SVN服务器无此文件,开发人员新上传的文件) (36)3. 删除文件(从SVN服务器删除文件) (36)4. 恢复历史版本文件 (37)5. 文件合并 (37)6. 文件比较 (40)7. 创建分支/标记 (42)8. 切换分支 (44)9. 合并分支 (45)三、附录 (48)1. 本地客户端 (48)2. MyEclipse插件地址 (48)一、MyEclipse中SVN的操作1.添加新的SVN资源库1)选择菜单窗口-〉打开透视图-〉其他2)打开SVN 资源库,点击“确定”3)添加新的资源库,在视图空白处单击右键->新建->资源库位置输入URL地址,点击“完成”即可。
2.检出项目1)方法一:在SVN资源库中检出①在SVN资源库节点下选择要检出的项目,右键选择“检出为”②选择“做为工作空间中的项目检出”③选择项目位置④执行检出。
2)方法二:导入SVN项目①菜单栏点击文件->导入②选中SVN->从SVN检出项目,点击下一步③选中资源库,点击下一步④选择要检出的文件夹,点击下一步⑤选择“做为工作空间中的项目检出”⑥选择项目位置⑦点击完成。
3)方法三:检出本地SVN客户端检出的项目①菜单栏点击文件->导入②选择General->现有项目到工作空间中,点击下一步③点击浏览,选择你的项目所在目录,点击确定④点击完成3.将修改的文件提交到服务器上右键选择小组〉提交,将更改后的文件提交到服务器上。
svn使用指南SVN使用指南SVN是Subversion的缩写,是一种版本控制系统,用于管理文件和目录的更改历史记录。
它可以跟踪每个文件的修改、删除和添加,并允许用户回滚到以前的版本。
SVN也可以协同工作,多个人可以在同一个项目中共同工作并对代码进行更改和提交。
安装SVN在使用SVN之前,需要先安装它。
可以从Subversion官网上下载适用于您操作系统版本的二进制文件,并按照说明进行安装。
创建仓库创建仓库是使用SVN的第一步。
首先,需要选择一个合适的位置来存储仓库。
可以选择本地或远程位置。
在本地计算机上创建仓库:1. 打开终端或命令提示符。
2. 输入以下命令:svnadmin create /path/to/repository3. 将“/path/to/repository”替换为要存储仓库的路径。
在远程服务器上创建仓库:1. 登录到服务器。
2. 安装Subversion软件包并启动svnserve服务。
3. 创建一个新目录来存储仓库。
4. 在该目录下输入以下命令:svnadmin create /path/to/repository5. 将“/path/to/repository”替换为要存储仓库的路径。
检出代码检出代码是指将代码从SVN服务器下载到本地计算机。
可以使用以下命令来检出代码:svn checkout svn://hostname/path/to/repository将“hostname”替换为SVN服务器的主机名,“path/to/repository”替换为要检出的仓库路径。
添加文件在SVN中添加文件非常简单。
只需将文件复制到仓库中即可。
1. 在本地计算机上创建一个新文件。
2. 使用以下命令将文件添加到仓库中:svn add filename3. 将“filename”替换为要添加的文件名。
提交更改提交更改是指将本地计算机上的更改上传到SVN服务器。
可以使用以下命令提交更改:svn commit -m "commit message"其中,“commit message”是一条简短的说明,解释了您所做的更改。
M:修改A:添加D:删除SVN命令使用一、常用命令1.Svnadmin create创建库svnadmin create path在windows版本上:D:\>svnadmin create test2D:\>通过dir来列出目录中文件,已经包含test2,如图1所示:图1说明此时已经成功建立2.Svn import导入项目svn import project_path svn_lib_path -m “comment”举例:假设有一个工程名称unismg,代码的文件目录是unicom;A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示:图2trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。
B、我们将代码unicom放到d:\unismg\trunk\中C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示:SVN为培训Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/getAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_pending.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mtsr.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mo.c……Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mbranchesAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtagsCommitted revision 38.3.Svn co: 将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co举例:svn co svn://192.168.30.251:3482/trunk/unicom下面信息就是从库中下载的代码信息。
SVN使用手册Svn的用处我就不说了,我们来安装,让你无限回滚代码!1,SVN演示有多种软件可以搭建svn环境,subversion安装配置复杂, 为了简便,在此选择VisualSVN,VisualSVN有服务器端和客服端之分,客服端是为visualstudio提供svn支持,服务器端才是关键,服务器端安装好以后你就可以提供SVN服务了,很帅哦,你可以通过浏览器来查看你的代码,同时也可以用他来管理你word文档的不同版本,不用设置多个名字以下是本人的版本库演示Google编程规范可以在浏览其中查看文本文件内容,xml,html,txt,py,c++,c+,java等等,源程序多可以查看2安装VisualSVN Server安装VisualSVN_Server选第一项设置程序安装位置,Repositories就是数据仓库的位置,不要放c盘,端口改用80(你80端口未占用的话)设置如图安装结束,不要运行,还没破解呢3破解VisualSVN Server打开运行(ctrl+r)输入services.msc查看当前正在运行的服务把VisualSVN Server服务停止把注册机拷打程序安装目录下,会被360,qq电脑管家,杀毒软件识别为病毒,破解之前先关了他们,Win7用户需要使用管理员权限运行注册机keygen.exe,不要修改注册机的username,company name点patch,需要指定WMIProvider.dll在bin文件夹里破解成功用户运行VisualSVN Server Manager点Upgrade to Enterprise Edition 升级到企业版点注册机的generate按钮生成注册码,升级成功SVN的配置页面,你可以修改服务名,端口,认证方式等4配置使用VisualSVN ServerSVN安装好的我们来设置SVN,让她为我们工作1,创建svn仓库你代码要存放的地方,一般一个项目建一个仓库Create default structure可选,选了以后创建3个文件夹,干什么用的自己查吧2创建用户仓库建好以后我们要创建用户,让他可以访问仓库你想为其他人通过SVN服务的话建议建组(Group),以方便用户的权限管理3安全管理,为了安全,我们要设置svn仓库的权限选中你要管理的仓库,右击,选manage security如图,我设置了任何人(你在user中创建的)对svn这个可读,只有hello用户有读写权限4使用svn使用浏览器查看svn,在局域网内,把admin-6换成你的ip地址,其他人在他电脑上也可以访问使用https协议会跳出以下界面,原因吗个人网站是不值得信任的输入你创建的账号登陆登陆成功5 VisualSVN 介绍VisualSVN客户端是为visualstudio提供svn支持的工具,在此不介绍,你可以自己摸索6 TortoiseSVN 介绍Windows下TortoiseSVN提供了方便的svn操作,而不用使用命令进行svn的操作, TortoiseSVN 有中文语言包安装语言包后在此改为中文选择版本库浏览器,输入svn地址我们可以在此查看代码的所有版本,HEAD后输入对于版本号就可以切换版本了,更多操作自己摸索7 Eclipse中使用svnEclipse 提供了插件subeclipse安装subeclipse是不要选Subclipse Integration for Mylyn 3.x(Optional)和Subversion Revision Graph选了这两项99.99%的概率你会失败Eclipse安装插件Subeclipse 地址千万不要用网络安装(凌晨十二点除外),网速伤不起Myeclipse安装subeclipsmyeclipse中subeclipse的安装选项,myeclipse安装svn插件成功会是myeclipse的一些功能用不了,不建议安装,不信你可以试试,我在myeclise下安装subeclipse好多myeclipse的模板就看不到了可以使用TortoiseSVN进行版本管理Eclipse 安装svn成功后可能会出现不用理他,这是64位和32位库不兼容造成的8 在Eclipse中使用SVNEclipse安装svn后便可以在在eclipse中对代码进行版本库控制,更方便以下是eclipse演示svn的使用新建一个java项目把项目上传到svn,供大家想输入要上传到的svn地址上传需要写权限共享成功后回跳到TeamSynch..试图返回java试图项目共享成功,代码不一定上传成功,需要提交代码提交成功通过svn检出项目以下演示从svn中检出刚才共享的项目svn,首先删除原来的svn项目导入从svn导入选择svn地址,没有的话创建新的资源地址选择svn项目检出检出成功SVN代码操作修改后提交查看svn.java的修改记录选择不同的历史记录,右击获取内容,代码就可以自动修改为该版本的代码9 软件下载软件网上可以找到或从我的以下地址获得,包含visualSVN破解微软skydrive.评论这张转发至微博转发至微博。
SVN管理员端使用手册目录SVN管理员端使用手册 ....................................................................................................... - 1 -1、环境............................................................................................................................ - 2 -1.1、软件安装环境 .................................................................................................... - 2 -1.2、硬件要求............................................................................................................ - 2 -1.3、准备软件............................................................................................................ - 2 -2、SVN服务器安装及配置............................................................................................ - 3 -2.1、VisualSVN-Server-2.5.2安装.............................................................................. - 3 -2.2、SVN Server汉化 ................................................................................................. - 6 -2.3、配置VisualSVN-Server ....................................................................................... - 8 -2.2.1、建立版本库 ........................................................................................................ - 8 -2.2.2、建立用户.......................................................................................................... - 10 -2.2.3、为版本库配置用户 .......................................................................................... - 11 -3、花生壳_6.0.5.13990安装及其配置 ....................................................................... - 13 -3.1、花生壳动态域名解析软件安装 ...................................................................... - 13 -3.2、花生壳域名解析设置 ...................................................................................... - 15 -3.2.1、注册花生壳域名护照 ...................................................................................... - 15 -3.2.2、登陆护照.......................................................................................................... - 16 -4、为SVN服务器路由器端口配置 ............................................................................. - 17 -5、SVN服务器访问测试.............................................................................................. - 19 -6、用户在线修改密码功能实现.................................................................................. - 20 -6.1、解压包安装 ...................................................................................................... - 21 -6.2、修改配置.......................................................................................................... - 21 -1、环境1.1、软件安装环境Windows XP/2003/2008/win7/vista1.2、硬件要求(1)无相关硬件要求,一般PC机即可(2)足够承载版本库内容的存储空间1.3、准备软件VisualSVN-Server-2.5.2.msi(创建SVN服务器端)/file/d0f44d18ecd83186d7f5b7659480b261?fid=906921390-250528-3264371520&time=1357530830&sign=FDTA-DCb740ccc5511e5e8fedcff06b081203 -0G6g3PmS3I3YPr%2BUu2vsr%2FS3iqU%3D&expires=1h&response-cache-control=privat eSVN Server汉化文件/file/51531359cd6086ebc6c26cb4862b32cf?fid=906921390-250528-1909355339&time=1357532333&sign=FDTA-DCb740ccc5511e5e8fedcff06b081203 -ZaVd6NmGB%2FBgX7ZVSI7wlBuK6aw%3D&expires=1h&response-cache-control=private 花生壳_6.0.5.13990(动态域名解析软件)VisualSVN Server增加在线修改用户密码的功能软件包/file/edbcdaecfc7b93d2d8c3e8ed5fbb94bd?fid=906921390-250528-2206954518&time=1357532333&sign=FDTA-DCb740ccc5511e5e8fedcff06b081203 -LTmWLjPanAgVAlTuTYB%2BjmoRI8E%3D&expires=1h&response-cache-control=private2、SVN服务器安装及配置2.1、VisualSVN-Server-2.5.2安装(1)打开安装包(2)【next】(3)勾选【I accept the terms in the license Agreement】→【next】(4)选择【VisualSVN Server and Management Console】→【next】(5)Location 是软件安装位置,可以点击后面【Browse…】修改;Repositories 是服务器建立的版本库的位置,可以点击后面【Browse…】修改;Server Port是服务器的外接端口;【next】→【Install】,开始安装软件(6)等待软件安装完成,【Finish】2.2、SVN Server汉化(1)解压【SVN Server汉化包】压缩文件到【SVN Server汉化包】文件夹(2)覆盖【SVN Server汉化包】文件夹下所有文件到SVN Server安装文件夹下的【htdocs】文件夹,路径格式一般为:\Program Files\VisualSVN Server\htdocs(3)SVN汉化工作完成,从开始启动SVN server(4)服务已经启动StatusVisualSVN Server is runningServer URL is https://%*%/svn/2.3、配置VisualSVN-Server2.2.1、建立版本库(1)右击【Repositories】,通过【Create New Repository】和下面的【新建】→【Repository】都可以建立新的版本库(2)建立一个新的版本库【TEST】,【Create defaultstructure(trunk,branches,tags)】可不勾选branches(分支,修改特殊功能或者新功能的分支代码,可与主干进行合并)tags(标记,设定milestone版本)trunk(主干,存放当前正在编辑的代码工程)(3)可以右击【TEST】,【新建】→【Floder】,在【TEST】下建立新的文件夹【项目】,然后【OK】(这样的话方便用户的检出和更新以及服务器文件的管理)2.2.2、建立用户(1)右击【Users】→【Create User】或【新建】→【User】新建一个用户(2)在【User name】输入用户名【admin】(用户名不能出现中文)和对应的密码(【Password】):111、确认密码(【Confirm password】):111,点击【OK】,创建新用户【admin】;仿照此法再创建一个新用户【1111】,密码为12.2.3、为版本库配置用户(1)右击【TEST】→【Properties】,查看它的属性,未配置用户的时候显示的是【Everyone】,【Read/Write】,此时用户都可以访问此版本库(2)通过【Add】为它添加用户【1111】、【admin】,【OK】(3)为每个用户设定各自的权限:【No Access】为不可访问;【Read Only】为只读,没有修改的权限;【Read/Write】为享有读写的权利。
svn使用指南
1.创建仓库:
-打开控制台,输入“svnadmincreateD:\svn”,其中D:\svn是你希望存储代码的路径。
2.检出代码:
-打开控制台,输入“svncheckoutfile:///D:/svn”,其中D:/svn是你创建的仓库路径,可以将其改为你的实际仓库路径。
3.同步代码:
-打开控制台,进入你的工作目录,例如“cd
C:\Users\Administrator\Desktop\MyProject”。
-修改代码,例如在MyProject文件夹中新建一个文件“test.txt”。
-输入“svn add test.txt”将新建文件添加到版本库。
-输入“svn commit -m "添加test.txt文件"”将修改的代码提交到仓库中。
4.更新代码:
-打开控制台,进入你的工作目录,例如“cd
C:\Users\Administrator\Desktop\MyProject”。
-输入“svn update”将仓库中最新代码更新到本地。
5.比较代码:
-打开控制台,进入你的工作目录,例如“cd
C:\Users\Administrator\Desktop\MyProject”。
-输入“svn diff”将比较本地代码和仓库中最新代码的差异。
6.分支操作:
-打开控制台,进入你的工作目录,例如
“cdC:\Users\Administrator\Desktop\MyProject”。
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”按钮即可撤销变更。
1TotoiseSVN旳基本使用措施1.1签入源代码到SVN服务器假如我们使用Visual Studio在文献夹StartKit中创立了一种项目, 我们要把这个项目旳源代码签入到SVN Server上旳代码库中里, 首先右键点击StartKit文献夹, 这时候旳右键菜单如下图所示:点击Import, 弹出下面旳窗体, 其中是服务器名, svn是代码仓库旳根目录, StartKit是我们在上个教程中添加旳一种代码库。
阐明:左下角旳CheckBox, 在第一次签入源代码时没有用, 不过, 在后来你提交代码旳时候是非常有用旳。
点击OK按钮, 会弹出下面旳窗体, 规定输入凭据源代码已经成功签入SVN服务器了。
这时候团体组员就可以迁出SVN服务器上旳源代码到自己旳机器了1.2签出源代码到本机在本机创立文献夹StartKit, 右键点击Checkout, 弹出如下图旳窗体:在上图中URL of Repository: 下旳文本框中输入svn server中旳代码库旳地址, 其他默认, 点击OK按钮,就开始签出源代码了。
阐明: 上图中旳Checkout Depth, 有4个选项, 分别是迁出所有、只签出下一级子目录和文献、只签出文献、只签出空项目, 默认旳是第一项。
上面旳例子中, 我们也可以使用web旳方式访问代码库, 在浏览器中输入这时候也会弹出对话框, 规定输入顾客名和密码, 通过验证后即可浏览代码库中旳内容。
源代码已经成功签出到刚刚新建旳StartKit目录中。
打开StartKit目录, 可以看到如下图旳文献夹构造:一旦你对文献或文献夹做了任何修改, 那么文献或文献夹旳显示图片机会发生变化。
下图中我修改了其中旳二个文献(附: 不一样状态所对应旳图片)1.3目前我们已经懂得怎么将源代码签入到SVN服务器, 怎么从服务器签出代码到本机, 也简朴理解了不一样状态所对应旳图案啦。
1.4提交修改正旳文献到SVN服务器上面旳图2-2-7中, 我修改了位于Model文献中旳二个文献ImageInfo.cs和NewsInfo.cs, 下面演示怎样提交到SVN服务器。
SVN使用手册——命令行模式1SVN概述SVN的全称Subversion,和VSS一样用来有效地管理代码和版本。
同样我们可以进行修改、对比版本、获得版本的历史信息等操作。
1.1 SVN使用环境及安装SVN的使用环境:SVN可在Linux系统使用,安装系统时如果选择了自带Subversion,无需安装即可使用命令行。
Windows系统需安装Subversion以便在命令行中使用SVN命令;也可安装TortoiseSVN(“小乌龟”),不用敲SVN命令直接通过右键菜单执行。
目前北研所的SVN使用基于TCP/IP协议的Apache服务器,使我们可以通过http地址来访问版本库。
平台Linux系统Windows平台操作方法命令行浏览器命令行界面/右键浏览器安装方式安装Linux的时候选择“开发用”则自带,否则需另安装SVN包。
无需安装,直接在地址栏输入版本库的http地址安装Subversion安装TortoiseSVN(“小乌龟”)无需安装,直接在地址栏输入版本库的http地址优缺点能查看最新及历史版本,能修改只能查看最新版本,不能修改能查看最新及历史版本,能修改能查看最新及历史版本,能修改,右键直接操作。
只能查看最新版本,不能修改本文介绍在Windows平台下SVN命令行工具svn的使用。
安装文件:Subversion ——svn-1.4.6-setup.exe TortoiseSVN——TortoiseSVN-1.4.6.11647-win32-svn-1.4.6.rar文件的具体地址,请参考下文“2.1”章节的介绍。
1.2SVN工作原理说明1.2.1版本库(repository)SVN所有的数据都存储在版本库中并被任意客户端用户分享。
客户端用户通过网络连接到版本库,读写这些文件并使其他人可以看到这些修改。
1.2.2工作拷贝(workcopy)工作拷贝是版本库中文件和目录在本地的映射。
用户并行工作,各自修改本机的私有目录和文件,最终把修改“提交”至版本库成为最终的版本。
SVN 服务器建立服务器建立//使用使用手册手册手册周宇辉周宇辉 20082008--0707--04目录1. SVN介绍 (3)1.1版本控制 (3)1.1SVN (3)1.2相关概念 (5)2. SVN服务器的建立 (7)2.1基于SVN协议的服务端 (7)2.2基于HTTP协议的服务端 (8)2.3SVN密码管理 (9)2.4SVN权限管理(实例) (10)2.5服务器端监视 (12)3. 客户端的使用 (14)3.1T ORTOISE SVN (14)3.1.1 工作目录 (16)3.1.2 与BeyondCompare集成 (16)3.1.3 提交修改 (17)3.2S UBCLIPSE (18)3.2.1 安装 (18)3.2.2 取得工程 (20)3.2.3 提交成果 (Commit) (23)3.2.4 查看历史 (24)3.2.5 获取特定版本 (24)3.2.6上传新文件 (25)4. 注意事项 (26)1. SVN 介绍介绍1.1 版本控制简单的讲,版本控制可以让你:• 在开发过程中保存产品的中间结果 • 获取你之前所保存的任一中间结果• 并对一个阶段的产品进行打包(Label, Tag) •对任两个中间结果进行比较图1-1 版本控制版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间做出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。
1.1 SVNSVNSVN全名Subversion,即版本控制系统。
SVN是一个跨平台的软件,支持大多数常见的操作系统。
作为一个开源的版本控制系统,Subversion管理随时间改变的数据。
这些数据放置在一个中央资料档案库 (repository) 中。
这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。
这样你就可以把文件恢复到旧的版本, 或是浏览文件的变动历史。
Subversion是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。
传统的版本控制工具采用 Lock – Modify – Unlock方式(如图1-2),例如VSS。
在这种方式下,一旦用户修改文件,该文件处于锁定状态,此时不允许其他用户修改。
也即一个文件当前仅允许一个用户拥有写权限。
客户端比较常见的Lock是采用文件只读\非只读实现的。
图1-2 Lock-Modify-UnlockSVN则采用Copy-Modify-Merge方式(如图1-3),这种方式的好处可以允许多个用户同时修改相同的文件。
一个用户在对已修改的文件进行上传时,如果此时服务器上的版本比该文件基于的版本要新,则会产生冲突,不允许该用户上传。
该用户必须获取服务器上的新版本,与本地的修改进行合并(Merge),然后进行上传。
图1-3 Copy-Modify-Merge图1-4是SVN 的架构图,从图中可以看出,SVN 的客户端可以采用三种不同的资源库访问方式:http,svn,local。
SVN 的资源库类型有两种。
图1-4 SVN 架构1.2 相关概念Tags TagsTag 是项目在某一时间的快照 (snapshot) 。
对于SVN 来讲,每一次资源库的修订都是一次快照。
Tag 可以用来建立milestone。
Tag 仅仅是项目某一时刻的标记,与工作空间,分支等没有任何关系。
SVN 中的tag 允许自定义名称,这样就可以方便的根据tag 名称获取项目某一时刻的版本。
Trunk Trunk / / / B B ranch ranchTrunk 是项目工作的主干道,也可以理解为项目开发的原始路线、主开发进程。
如果没有特殊的需求,项目会一直在trunk 中进行。
在某个时刻,可能需要创建工作文档的第二个拷贝,然后单独维护这个拷贝。
这就有了branch 的概念,一个与其他开发进程独立的开发进程。
以上如图1-5所示,在主干道上可以创建多个branch。
】注意】【注意※trunk以及branch只是两个概念,在SVN中并没有实实在在的两个东西,如果你愿意的话,trunk也可以是branch,branch也可以是trunk。
两种从实质上讲并没有什么区别,可以认为是两个不同的工作空间。
※虽然只是概念,但是在开发的时候尤其注意不要弄混当前的工作空间,防止发生不必要的损失。
推荐为项目创建trunk,branch两个目录。
图1-5 trunk、branch如图1-6,创建一个branch。
图1-6 创建一个branch创建Branch后,工作的revision的变化,如图1-7。
图1-7 版本号的变化※SVN对于tag以及branch的创建不是easy copy的方式,所以不用担心空间的损耗等。
※SVN的版本号 (revision) 对于整个SVN来讲是递增的.的建立服务器的建立2. SVN服务器安装环境:Window XP professional软件:服务端软件 /Subversion有三种运行方式,一种是基于Apache Http Server,一种是Subversion Standalone Server,还有一种local方式。
下面分别介绍svn、http两种方式的安装方法。
协议的服务端2.1基于svn协议的服务端【1】安装Subversion后,使用命令 svnadmin create "D:\MySVN" 创建svn资源库,资源库地址为D:\MySVN【2】打开 D:\MySVN\conf\svnserve.conf,去掉以下内容之前的注释符[general]anon-access = noneauth-access = writepassword-db = passwdrealm = My First Repository说明: anon-access = none 不允许匿名访问!auth-access = write 允许提交修改password-db = passwd 密码文件名字如果[general]anon-access = read → anon-access = none【3】用记事本打开D:\MySVN\conf\passwd,添加用户名(user)和密码(passwd)[users]user=password可以添加多个这样的用户名密码对。
【4】创建svn服务,并启动,这样svn就会开机自动启动在控制台下,输入如下命令:sc create svnservice binpath= "\"D:\programfiles\Subversion\bin\svnserve.exe\" --service –r D:\MySVN" displayname= SVNService" depend= Tcpip注意注意注意::a. 如果路径中包括空格,一定要用“\”处理“"”号,例如svnserve.exe 在c:\program files\subversion\中,则命令应该写为binpath= \"c:\program files\subversion\bin\svnserve.exe\"b. sc 对选项的格式还有要求,所有的“=”前不能有空格,而后面必须有空格。
例如depend= Tcpip 不能写为depend = Tcpip 或depend=Tcpip【5】经过上述四步的操作,就可以使用svn://localhost 访问SVN 服务器。
2.2基于http 协议的服务端基于Apache Http Server 的Subversion,有以下好处:• 能使用WebDAV 协议• 能使用浏览器作为客户端工具浏览源码仓库。
• 可以很容易的支持SSPI(Windows 域认证)和LDAP,这些都是Apache 本身就支持的。
• 能得到比较完善的Apache 安全认证系统,比如SSL 加密连接。
目前SVN1.4.6(当前最新版)暂不支持Apache2.2以上版本,请使用Apache2.0版本进行配置。
如果先安装Apache2.0,然后在安装Subversion1.4.6,则Subversion 的安装会提示是否配置Apache 服务器,选择允许配置。
则以下Apache 的配置步骤可以省略。
【1】安装Apache 服务器【2】检查Apache 的modules 目录是否包含mod_dav_svn.so 以及mod_authz_svn.so ,如果没有,从Subversion 的bin 目录中拷贝这两个文件到modules 目录。
如果先安装Apache,然后安装Subversion,则会自动拷贝这两个模块。
【3】在Apache 的httpd.conf 配置文件中LoadModule 位置的最后添加如下两行:LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so并且去掉LoadModule dav_module modules/mod_dav.so 之前的#号【4】如果不执行第2步的拷贝,那么在第3步新添加的两个LoadModule中使用绝对路径【5】在httpd.conf配置文件的最后添加以下参数:<Location /svn>DAV svnSVNPath D:\MySVNAuthType BasicAuthName "Subversion repositories"AuthUserFile D:\MySVN\conf\passwdAuthzSVNAccessFile D:\MySVN\conf\authzRequire valid-user</Location>其中:•<Location /svn> 中的svn为浏览器中需要输入的访问地址•SVNPath D:\MySVN 指定svn仓库的物理位置•AuthUserFile D:\MySVN\conf\passwd 指定svn仓库的密码文件•AuthzSVNAccessFile D:\MySVN\conf\authz 指定svn仓库的权限设置文件【6】重启Apache服务器,然后就可以使用http://localhost:8080/svn访问svn仓库。
其中8080是Apace服务器设置的端口.2.3 SVN密码管理SVN使用svn协议以及http协议的密码处理是有所不同的,svn使用明文,http则可以可以使用md5加密,对应于conf/passwd文件,两者的形式也不同。