您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SVN与Eclipse集成操作手册
Eclipse与SVN集成目录第一章综述.....................................................................................................................2第二章安装.....................................................................................................................2第三章集成后的日常使用...............................................................................................53.1检出工作项目....................................................................................................53.2SVN的使用操作.................................................................................................73.3svn使用常见问题.............................................................................................11第四章开发遵循原则...................................................................................................13Eclipse与SVN集成第一章综述Eclipse开放工程是IBM集成开发工具,其强大完善的功能、开放的架构可以适应各种级别的java开发。SVN是Subversion的缩写,是版本控制系统工具的一种,Subversion管理随时改动的文件和目录,以二进制格式存储所有的文件,使用高效的比较二进制差异算法来计算版本之间的改动,使用类似数据库事物的方式来处理用户提交入库的过程。Eclipse本身不集成有SVN,需要添加插件才能集成。第二章安装Eclipse若要与SVN集成,则需将SVN插件添加到Eclipse下Step1:打开Eclipse,点击help-installnewsoftwareStep2:点击Add添加Site-选择Location更新源对应的site插件存放路径Step3:勾选Name-SubclipseEclipse与SVN集成Step4:点击Next:Step5:依旧点击Next:Eclipse与SVN集成Step6:点击Finish完成配置,重启Eclipse,在windows-perferences中查看Eclipse中是否已包含插件subclipseEclipse与SVN集成注意:若Eclipse已经包SVN插件subclipse,但在windows-perferences-Team-SVN下查询SVN接口不是最新的(根据服务器情况而定),则在Eclipse的安装路径下找到features、plugins包,将其替换成Subclipse插件下的同名包,然后重启Eclipse,再次查看是否更新。第三章集成后的日常使用3.1检出工作项目打开Eclipse,点击编译器右上角的OpenPerspective,打开SVN资源库界面,新建资源库(可咨询项目组管理员URL地址):右键选择“检出为”,检出对应开发分支的项目工程,其中项目名称可自己决定Eclipse与SVN集成注意:也可以在本机安装SVN的客户端,结合使用最佳。Eclipse与SVN集成3.2SVN的使用操作更新:提交:Eclipse与SVN集成Eclipse与SVN集成显示资源历史记录:锁定操作:Eclipse与SVN集成注:锁定前要更新一下,否则会出现一下提示:Eclipse与SVN集成切换分支:3.3SVN使用常见问题1、svn:Serversentunexpectedreturnvalue(500InternalServerError)inresponsetoOPTIONSrequestfor'错误的用户名。检查用户是否输入错误2、svn:OPTIONSof':authorizationfailed:Couldnotauthenticatetoserver:rejectedBasicchallenge()错误的口令。请用正确的用户名/口令登录3、svn:Serversentunexpectedreturnvalue(403Forbidden)inresponsetoOPTIONSrequestfor'用户无权限。请联系管理员,为用户分配权限4、svn:OPTIONSof':200OK()服务器地址错误。确认输入正确的SVN服务地址。可以在浏览器中输入该地址进行确认5、Theversionofyoursubversion(client)isbelow1.5.0,upgradeto1.5.0orabove.SVNbelow1.5.0cannothandlemergeinfoproperly.Itcanmessupourautomatedmergetracking!是由于客户端的软件版本低于1.5.0造成的。服务器端对客户端软件版本进行了限制,以免对合并跟踪破坏。解决办法是升级本地的Subversion客户端软件到1.5.0或以上版本3.46、svn:Thisclientistoooldtoworkwithworkingcopy'.'.YouneedtogetanewerSubversionclient,ortodowngradethisworkingcopy.See安装了多个版本的SVN客户端(TSVN,Subclipse,...),且各个客户端的版本不一致。高版Eclipse与SVN集成本的SVN客户端会自动更新本地工作目录中的.svn目录下的文件格式,导致旧版本的SVN客户端不能继续访问该本地工作目录。解决办法:将本机安装的所有的SVN客户端都更新到同一个大版本,以避免本地工作目录的格式不一致7、svn:Workingcopy'trunk/src'lockedsvn:run'svncleanup'toremovelocks(type'svnhelpcleanup'fordetails)异常操作导致目录没有解锁。使用命令行svncleanup或者类似的“清理”动作删除锁定8、svn:Commitfailed(detailsfollow):svn:Fileordirectory'/trunk/XXX'isoutofdate;tryupdatingsvn:resourceoutofdate;tryupdating基于旧版本修改是不允许的,请先更新,再提交。9、org.apache.subversion.javahl.ClientException:Theoperationisforbiddenbytheserversvn:Commitfailed(detailsfollow):svn:Changingfile'D:\Project\crms-test\crms\WebRoot\biz\contract\changeLoanStatus.jsp'isforbiddenbytheserverURLaccessforbiddenforunknownreasonsvn:Accessto'/svn/CRMS/!svn/rvr/2885/trunk/pro_dev/crms/WebRoot/biz/contract/changeLoanStatus.jsp'forbidden这个操作是禁止的,没有权限。解决办法是:查看对应svn资源库的路径,查看是否有提交权限10、冲突分为文件冲突和树冲突两种。常见的为文件冲突,以下为其做详细解释:产生原因:第一种:假设A、B两个用户都在版本号为100的时候,更新了test.txt这个文件,A用户在修改完成之后提交test.txt到服务器,这个时候test.txt文件的版本号已经变成101了。但B用户仍在版本号为100的test.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败,产生了冲突;第二种:两个或更多开发人员对同一个文件test.txt的同一行做了修改,但svn不能取舍最佳合并版本,就会产生冲突。冲突现象:冲突发生时,打开问题文件,找到以“”开头的那几行,有冲突的区域会被下面这样标示:.mineyourchanges=======codemergedfromrepository.r1234另外,对每一个有冲突的文件,Subversion都会在你的目录中放三个另外的文件:test.txt.mineEclipse与SVN集成这个文件是更新工作副本之前,冲突文件在你的工作副本中原来的样子。其中没有任何冲突标记。test.txt.r1233这个文件是版本号为1233时的文件。也就是你做修改之前最后一次更新下来的文件。test.txt.r1234这是你更新时Subversion客户端从服务器收到的最新版本的文件。它是仓库的最新版本。解决冲突:A、放弃自己的更新,使用svnrevert(回滚)。在这种方式下不需要使用svnresolved(解决)B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolvedtest.txt并提交(选择文件—右键—解决)。C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件,即删除冲突区域的特殊符号和多余代码,点击保存。然后执行resolved来解除冲突(选择文件—右键—解决),最后提交。注:不编辑冲突,只执行Resolved并没有真正的解决冲突,它只不过是test.txt.mine和test.txt.r*删除,并允许你提交修改而已。一定要确定好版本,做一些必要的修改,才算真正的冲突解决。如何降低冲突解决的复杂度:1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。2、在提交时,写上明确的message(注释信息),方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘3、养成良好的使用习惯,使用SVN时每次都是先更新,后提交。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库第四章开发遵循原则Svn只是版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突棘手问题,因此,我们通过制定规则或优化流程来规避或较少问题发生。1、修改前获取最新版本原则坚持在对项目中文件修改之前,先从SVN服务器获取最新版本文件的好习惯,减少冲突发生的概率。2、尽快释放文件锁在获得对指定文件加锁权限后,应尽快完成文件的修改编辑工作,处理完毕立即提交更新,并马上解锁,以免影响别人的开发。3、不提交编译不通过的代码文件开发人员不要提交在本地编译运行无法通过的
本文标题:SVN与Eclipse集成操作手册
链接地址:https://www.777doc.com/doc-4654572 .html