eclipse与clearcase结合使用方法ClearCase开发eclipse项目(二)为User2 设置工作区域以访问由User1 所共享的模型在本节章,User2 将通过创建一个web视图并在其工作空间中导入Piggy Bank UML 项目,来设置他个人的工作区域。
要创建一个视图并导入此共享的Piggy Bank 建模项目,请遵循以下步骤:1.启动User2 的客户端机器上的Software Architect。
2.当收到提示时,选择你的工作空间或者创建一个新的工作空间。
3.这会激活Software Architect 中的ClearCase Remote Client。
为得到更多信息,参见前面的在Software Architect 中激活ClearCase Remote Client 一节(由User1所执行)。
4.从Software Architect 中的ClearCase 透视图创建一个新的ClearCase Web 视图(命名为baseccrc_view2)。
为得到更多信息,参见在Software Architect 中创建一个ClearCase Web 视图,并加载Base ClearCase VOB 工件。
5.在Software Architect(ClearCase透视图)中的ClearCase Navigator 视图中,右键点击baseccrc_view2 并选择Update Resource(如图21所示)以将UML Project 工件获取到你的本地Web 视图(baseccrc_view2)中。
图21:将UML Project 工件获取到你的本地Web 视图6.点击Update Resources 对话框中的Apply,如图22所示。
图22:应用你的选择UML Project 工件应当装载至User2 的Web 视图位置(baseccrc_view2),并且将显示在ClearCase View Configuration 窗格(ClearCase 透视图),如图23所示。
图23:在User2的Web视图位置中的UML项目工件要从User2的Software Architect 工作空间中的baseccrc_view2 视图导入Piggy Bank Project,请遵循以下步骤:7.点击File > Import。
8.在Import 向导中,点击Existing Project into Workspace,然后点击Next。
9.在Import Project From File System 页面上,在Project contents字段中,指定User2的视图中的Piggy Bank 模型的位置(例如C:\CCRC\ccrcviews\baseccrc_view2\base_vob_ccrctest\Piggy Bank Models,如图24所示)。
图24:选择Project Contents 位置10.点击OK,然后在Import对话框中点击Finish。
图25阐明了UML项目如何在User2的工作空间的Model Explorer 视图中进行显示。
注意:要让UML Project 带有一个ClearCase Remote Client Web 视图标记,你也必须在User2 的Software Architect 中设置了ClearCase Remote Client 选项(与User1用视图标签标记项目名称所进行的设置类似-参见在Software Architect 中设置ClearCase Remote Client Preferences)。
图25:User2的Model Explorer 视图中的UML项目并行开发:比较与合并模型在本节中,你将进行并行开发。
一个合并通常开始于你将一个模型检入到一个存储库中时,并且此时同一个模型的一个新版本已经存在于此存储库中了。
如果只有非冲突性的差异,那么合并是普通的,并且你会有一个沉默合并(区别是会自动解决冲突和进行合并)。
如果你有产生冲突的变化,那么你必须手工解决剩下的冲突,选择接受哪一个版本的模型的变化。
在你解决剩下的冲突之后,你可以保存合并后的模型,并关闭合并编辑器。
接下来的步骤描述了本节中的工作流程:•User1 检出了一个文件,进行一些修改,(例如,User1 将安排图中的形状,并从一个类中删除两个UML操作),并且将此文件保持为检出状态。
•User2 检出同一个文件,进行一个产生冲突的变化(例如,User2将对User1所删除的同一个UML操作进行重命名),并进行一些非冲突的变化(例如,在User1所更改的同一个图中显示一个类的形状的操作标记)。
User2 也保持此文件为检出。
•User1 检入此文件。
•User2 试图检入此文件,但是需要在变化被检入之前,执行一个合并操作。
以User1进行修改:1.在User1 的工作空间中启动Software Architect。
2.在Software Architect 中的Model Explorer 视图中,双击Design Model.emx 打开模型。
3.定位到PiggyBank Design Model\PiggyBank Viewpoints\Architectural Layers,并双击Common Elements Diagram打开图。
4.右键点击图表编辑器,并选择Arange All选项。
5.你应当可以看到Checkout Resources 窗口。
确保Reserved复选框没有被选中(如图26所示)。
点击Apply。
图26:Checkout Resources 对话框6.在LogHelper Shape 中选择first warn() 操作,并选择Navigate > Show in > ModelExplorer(如图27所示)。
图27:在Model Explorer 中选择一个操作进行显示7.应当在Model Explorer 中的PiggyBank Design Model\PiggyBank ImplementationDesigns\mon\Logging\LogHelper 下选中操作。
8.在Model Explorer 中右键点击first warn () 操作,并选择Delete from Model。
9.在Model Explorer 中右键点击second warn () 操作,并选择Delete from Model。
你的视图现在应当类似图28所示。
图28:带有已删除的both warn () 操作的LogHelper10.点击File > Save All。
11.不要在User1 的工作空间中检入Design Model.emx 模型文件。
使用User2 进行一个产生冲突的变化:12.在User2 的工作空间中启动Software Architect。
13.在Model Explorer 视图中,右键点击Design Model.emx。
14.检出Design Model.emx (右键点击Design Model.emx 并选择Team >Check-out)。
15.确保Reserved复选框没有在Checkout Resources 对话框中选中(参见图29),然后点击Apply。
这会完成Design Model.emx 的检出。
图29:检出一个文件16.定位到PiggyBank Design Model\PiggyBank ImplementationDesigns\mon\logging\LogHelper。
17.在Model Explorer 中右键点击first warn() 操作,并选择Refactor > Rename。
18.在Rename Element 对话框中,在New name字段中输入warning 并点击OK。
19.对second warn() 操作重复这些步骤。
20.定位到PiggyBank Design Model\PiggyBank Viewpoints\Architectural Layers,并双击Common Elements Diagram 打开图。
21.在图编辑器中,右键点击LogHelper 类的外形,并选择Filters > Show Signature。
操作标记应当显示在LogHelper 类的外形中,如图30所示。
图30:LogHelper22.点击File > Save All。
23.不要在User2 的工作空间中检入Design Model.emx 模型文件。
要通过User1 检入模型文件:24.在User1 的工作空间中启动Software Architect。
25.在Software Architect 的Model Explorer 视图中,右键点击Design Model.emx,并选择Team > Check-in检入模型。
26.在Check In Resources 窗口中,点击Apply。
27.退出Software Architect。
在这点上,User1 和User2 都已经对同一个文件进行了修改。
User1 已经检入了他的变化。
User2 还没有检入她的变化。
当User2 试图检入她的变化时,ClearCase 提示她执行一个合并,以使User2 可以解决发生冲突的变化。
要由User2 解决冲突:28.在User2 的工作空间中启动Software Architect。
29.在Software Architect 的Model Explorer 视图中,右键点击Design Model.emx,并选择Team > Check-in。
30.在Check In Resources 窗口中,点击Apply。
31.Merge Needed for Checkin 对话框打开了,如图31所示。
点击Merge按钮。
图31:Merge Needed 警告32.Software Architect Compare Merge Tool 应当启动起来。
你可以在Left、Right 和AncestorYou 视图中查看contributor 和ancestor 文件之间的差异和冲突。
你也可以在Structural Differences 视图中查看有关每个差异和冲突的详情。
The Merged result 视图显示了合并后的模型。
33.在Structural Differences 窗格中选择Conflicts页签。
你应当看到模型元素的两个冲突:被Right Contributor(来自于User1 的web视图)删除的两个操作,以及被Left Contributor(来自于User2 的web视图),如图32所示。