第九章 Subclipse必备技能
导言:
在最后一章将为大家介绍的是Subclipse插件必须要掌握的技术,这些技术点在平时管理文件资源的过程中不可缺少,也是丰富掌握SVN技术的章节,熟练使用这些菜单和工具可以在遇到不同情况时得到一个解决方案的提示,加快软件代码的管理周期,提升开发效率。
9.1 显示资源历史记录
Step01:菜单“显示资源历史记录”的作用可以查看以往操作SVN仓库的所有详细内容,为了试验此菜单,可以创建1个测试用的z仓库及在MyEclipse中创建1个名称为z的web项目,然后将web项目z关联到z仓库中,关联结束后对web项目z进行提交的操作,在提交时配置界面效果如图9.1所示。
图9.1 将web项目提交到z仓库中并有注释
Step02:然后在web项目中添加1个abc.txt文件并再次提交,效果如图9.2所示。
图9.2 再次输入注释并提交
Step03:这时对z项目调用“显示资源历史记录”菜单,效果如图9.3所示。
图9.3 调用目的菜单
Step04:弹出界面如图9.4所示。
图9.4 详细的历史记录清单并有注释重显
Step05:在此界面中还可以单击图标对历史记录进行查找,效果如图9.5所示。
图9.5 根据查询条件来查找历史操作
Step06:右键菜单有一个菜单选项“从修订版x回复更改”,菜单的文字出现错误,应该是“从修订版x恢复更改”,或“从修订版x还原更改”,它的作用是将指定Revision的改变进行还原,菜单如图9.6所示。
图9.6 调用从修订版x回复更改菜单
Step07:单击此菜单后极有可能出现冲突,或不出现冲突,直接Update了。此菜单的还原改变的算法规律如下:
假设从100版revert change到50版,步骤如下:
将49版和50版及100版,3个版本相互对比:
<A>如果49和50一样,则使用100版的内容
<B>如果49和50不一样,而49和100版一样,则使用100版的内容
<C>如果49和50不一样,而49和100版也不一样,则发生冲突
<D>如果49和50不一样,而50和100版一样,则使用49版的内容
可以这样理解:49在左,50在中间,100在右,50和49及100版本分别相比,哪个改变用哪个。
9.2 显示树冲突
树冲突发生最频繁的场合就是在合并时,发生的原因主要就是主线与分支在各自开发的过程中创建了相同的文件名,然后在合并时就出现了树冲突。
下面故意制造一个具有树冲突的实验环境。
Step01:创建名称为zz的SVN仓库,然后在MyEclipse1中创建zz项目,并将zz项目提交到zz仓库中。
Step02:然后对MyEclipse1中的zz项目创建1个分支,名称为zzA。
Step03:然后将分支zzA导入到MyEclipse2软件中,在MyEclipse2中的WebRoot文件夹下创建子文件夹,名称为a,并创建子文件abc.txt并提交,效果如图9.7所示。
图9.7 创建a文件夹及abc.txt子文件并提交
Step04:回到MyEclipse1软件中也在WebRoot文件夹下创建子文件夹a及abc.txt文件并提交,效果如图9.8所示。
图9.8 也要创建同名的a文件夹及abc.txt并提交
Step05:下面的步骤将分支中的内容合并到主线中,也就是在MyEclipse1中的zz项目调用“合并”菜单进行合并,合并的关键步骤如图9.9所示。
图9.9 选择分支的路径
Step06:合并后的结果如图9.10所示。
图9.10 出现树冲突
Step07:MyEclipse1中zz项目的状态如图9.11所示。
图9.11 出现树冲突左右箭头图标
Step08:下一步就可以对MyEclipse1中的zz项目调用“Show Tree Conflicts”菜单显示树冲突,效果如图9.12所示。
图9.12 调用Show Tree Conflicts菜单
Step09:显示选项界面如图9.13所示。
图9.13 有树冲突发生
Step10:有冲突就要解决,选择冲突选项后,单击鼠标右键中的Resolve菜单,如图9.14所示。
图9.14 单击Resolve菜单
Step11:弹出界面如图9.15所示。
图9.15 配置解决树冲突的界面
Step12:选项的作用是比较MyEclipse1中的内容与分支中的内容。选项
的作用是冲突得到解决。
Step13:单击Finish按钮后冲突解决了,使用了本地版本的abc.txt文件,效果如图9.16所示。
图9.16 树冲突解决了
Step14:这时SVN Tree Conflicts选项卡中的内容为空,如图9.17所示。
图9.17 SVN Tree Conflicts选项卡中的内容为空
9.3 设置属性与显示属性
Step01:使用前面章节的实验环境,对MyEclipse1中的abc.txt文件设置属性,如图9.18所示。
图9.18 对abc.txt文件设置属性
Step02:配置属性内容如图9.19所示。
图9.19 添加Date属性值
Step03:单击OK按钮并提交的效果如图9.20所示。
图9.20 添加属性并提交
打开配置文件的注释:
(1)*.txt = svn:eol-style=native;svn:keywords=Author Date Id Rev URL;
(2)enable-auto-props = yes
Step04:更改MyEclipse1中的abc.txt文件内容如图9.21所示。
图9.21 更改abc.txt文件内容
Step05:并提交如图9.22所示。
图9.22 更改abc.txt文件内容并提交
Step06:出现乱码问题说明项目编码不是utf-8,将项目更改成utf-8后的效果如图9.23所示。
图9.23 中文成乱码了
Step07:所以好的习惯是创建完项目后就更改项目的编码再提交到SVN仓库中,继续更正中文问题,再将项目提交到SVN仓库zz中,效果如图9.24所示。
图9.24 日期和正文都不乱码了
Step08:对abc.txt文件调用“显示属性”菜单后显示属性列表如图9.25所示。
图9.25 正确显示属性名和值
9.4 将资源设置为忽略状态
Step01:菜单“svn:ignore”作用是将忽略的文件或文件夹不进行提交,对x文件夹调用此菜单如图9.26所示。
图9.26 调用svn:ignore菜单
Step02:弹出配置界面如图9.27所示。
图9.27 设置x为忽略的条目
Step03:单击OK按钮再进行提交,日志信息如图9.28所示。
图9.28 成功修改忽略的选项
Step04:选择WebRoot节点,出现界面如图9.29所示。
图9.29 出现ignore列表
9.5 用图形方式显示修订历史
Step01:菜单“Show Revision Graph”的作用可以以图形的方式来查看一下版本变更的情况,对zz项目调用“Show Revision Graph”菜单如图9.30所示。
图9.30 调用Show Revision Graph菜单
Step02:显示历史变更图示如图9.31所示
图9.31 以图形的方式来显示文件版本变更
9.6 回顾历史记录
菜单“Show Local History”可以显示文件的更改历史,如图9.32所示。
图9.32 对abc.txt文件调用Show Local History菜单
弹出界面如图9.33所示。
图9.33 双击条目即可显示出历史内容的重显
9.7 锁定与解锁文件
菜单“锁定”的功能是将资源进行锁定,防止其它人对资源进行覆盖破坏,如果B人在提交已经被A人锁定的文件时会出现异常,如图9.34所示。
图9.34 不能提交文件已经被锁定
这时可以由A人调用“解锁”菜单来处理这样的情况。
如果在调用“锁定”菜单时勾选“强制锁定”选项时会将其它人的锁进行“偷窍”,此知识点在前面的章节中也有介绍,效果如图9.35所示。
图9.35 偷窃它人锁
9.8 复制与导出资源
想要对文件夹a进行复制的操作,则对文件夹a调用“复制”菜单如图9.36所示。
图9.36 对a文件夹调用复制菜单
弹出界面如图9.37所示。
图9.37 选择目的路径为WebRoot
单击OK按钮后提示备份文件夹的新名称,如图9.38所示。
图9.38 文件夹新名称为newa
单击OK按钮后成功复制,如图9.39所示。
图9.39 文件夹newa呈add状态
导出的操作和复制一样简单,还是要选择一个导出的路径如图9.40所示。
图9.40 选择导出的路径