介绍
理想的ClearCase Remote Client用户是兼职的远程用户(例如,用户在家中使用与他们在办公室中相同的ClearCase视图)或者是全职的远程用户(例如,在小的卫星式办公室中进行工作的用户)。本文将涵盖base ClearCase开发模式。
关于 ClearCase Remote Client
ClearCase Remote Client 是一种优化的基于 Eclipse 的用户界面,用于那些跨广域网连接ClearCase Web服务器的开发者使用。它包括本地ClearCase客户端所提供的许多特性,而不用管ClearCase是否已经安装在客户端机器上。
ClearCase Remote Client 使你可以访问远程ClearCase存储库中的资源,并将这些资源装载入本地的ClearCase视图中,文件和目录在ClearCase控制之下。它也使你可以将文件和目录加入到ClearCase中,将它们提交到存储库中,并使得其他的团队成员可以使用它们。
ClearCase Remote Client 可使用两种形式:
- ClearCase Remote Client (用于在Eclipse集成开发环境外部使用)
- ClearCase Remote Client for Eclipse (集成ClearCase Remote Client与基于Eclipse的应用程序)
当你把 ClearCase Remote Client for Eclipse 安装到一个 Eclipse 环境(如Software Architect)时,ClearCase Remote Client 视图 (例如,ClearCase Navigator 或 ClearCase Details 视图) 就可以在 ClearCase 透视图中看到。
ClearCase Remote Client 视图也可以被加入到其它 Eclipse(各自的 Software Architect)透视图中。这些视图提供了对装载入ClearCase视图中资源的访问,并且也使你可以浏览远程ClearCase的内容。
可以从ClearCase工具栏(其可以被加入到任何支持team provider的Eclipse透视图中)中访问对话框和向导,并且也可以从Eclipse Team环境中访问。
通常,ClearCase支持两种开发模式:
ClearCase Remote Client 和 ClearCase Remote Client for Eclipse 都支持 UCM 和 base ClearCase。
过程
此场景模拟了两个用户使用 ClearCase Remote Client for Eclipse 编辑同一个在 Software Architect 中的源码控制模型文件。当两个提交人都对同一个UML模型进行修改时,图形化的合并会话可以让你接受其中一方的UML模型元素,还有UML图中的元素。
在这个创建中,User1将会创建一个新的Web视图(baseccrc_view1),并且装载位于ClearCase Web服务器上的Base ClearCase VOB(baseccrc_view1)。User1 将会共享一个建模项目,这样其他团队成员也可以在此项目中进行工作。User1 和 User2 都工作在同一个模型中。这两个用户对同一个模型元素和图进行一些产生冲突的修改。当第二个用户试图检入时,用户必须执行一个合并来解决这些差异。Software Architect 的 Compare/Merge 功能可以让你比较和跟踪不同的模型元素和图,识别它们之间的差异,并合并模型。
必要条件
以下软件必须安装在 User1 和 User2 的客户端工作区中:
- Software Architect 6.0.1.1 或以上版本
- ClearCase Remote Client Plug-in for Eclipse 安装在 Software Architect 中(参见 安装和更新 ClearCase Remote Client for Eclipse )
- 不需要安装标准 ClearCase 客户端并在客户端激活。在客户端只需要 ClearCase Remote Client for Eclipse。
ClearCase Remote Client for Eclipse 需要支持 ClearCase Web Server,其使客户端既能够访问远程ClearCase存储库,又能支持本地ClearCase视图。ClearCase Remote Client 使用 HTTP 协议进行工作。
安装和更新 ClearCase Remote Client for Eclipse
安装以下步骤安装 ClearCase Remote Client plugins for Eclipse。
- 进到Software Architect的主菜单,并选择 Help > Software Updates > Find and Install。
- 选择 Search For new Features to Install 单选按钮,并点击 Next。
- 选择 New Remote Site 按钮。
- 在 URL 字段中输入更新站点,如图1所示(例如,http://www3.software.ibm.com/ibmdl/pub/software/rationalsdp/clearcase/ccrc/614/update/)。
图1:在URL中输入更新站点
- 在Sites to include in search 列表中选择新的更新站点(这里是ccrc),并点击 Finish。
- 在 Search Results 主页中,选择 Rational ClearCase Remote Client for Eclipse (如图2所示),并点击Next。
- 在询问时接受协议,并点击 Install。
- 当安装完成时重现启动工作台。
图2:选择 ClearCase Remote Client for Eclipse
如果 ClearCase Remote Client 已经安装过了,检查更新一下(最新版本是 6.14.9)。
- 要更新版本,通过点击 Help > Software Updates > Find and install 手工运行 Update Manager。
- 选择 Search for updates of the currently installed features。最后的屏幕应当类似图3。
图3:可用更新
以下软件必须安装在 ClearCase Web 服务器端:
- ClearCase 6.0 Web Server 是共享服务器,你的团队可以存储源码控制存储库。
- ClearCase Remote Client 与 ClearCase Web Server 一起打包在 ClearCase v 2003.06.14 (下载SR4补丁)产品介质中。
- Base ClearCase VOB(basevob_ccrctest)已经在 ClearCase Web Server 上创建。请参见文章 使用 Software Architect 和 Base ClearCase 在团队开发环境中进行工作,该文描述了如何创建初始的Base VOB和视图。
ClearCase Web 服务器是一台已经安装了ClearCase的计算机,并且其可以访问一个或多个ClearCase存储库(VOB)。每个 ClearCase Web 服务器支持两个客户端接口:ClearCase Remote Client 和 ClearCase Web 接口,通常是同一个URL。
受控于ClearCase的资源存储于一个ClearCase服务器的存储库中,该存储库称作版本对象库(Versioned Object Base),或VOB。要访问一个VOB,你必须连接到一个ClearCase Web服务器,并工作在一个ClearCase视图中。
注意:要创建一个VOB,你必须使用 ClearCase 管理工具,其运行在 ClearCase Web 服务器端。你不能使用 ClearCase Remote Client 来创建 VOB。
在客户端机器上启动 Software Architect
在本节中,User1 将启动 Software Architect,导入一个建模项目并将该项目共享(使用 ClearCase Remote Client for Eclipse)给其他团队成员使用。启动 Software Architect 并创建一个初始工作空间。
- 点击 Start > Programs > IBM Rational > IBM Rational Software Architect V6.0 > Rational Software Architect。
- 在 Workspace Launcher 窗口中,在 Workspace 字段中,选择一个工作空间并点击 OK。
- 如果你被提示将自动启动配置更改为你的工作空间路径,点击 Yes。
注意: 你的 Clearcase 视图位置和你的工作空间位置应当总是分开的。
在Software Architect中激活 ClearCase Remote Client
在本节中,User1 将在Software Architect Client Machine中激活 ClearCase Remote Client Capabilities
- 点击 Window > Preferences。
- 在 Preferences 窗口中,展开 Workbench\Capabilities。
- 在右边的窗格中,展开 Team 并选择 ClearCase Remote Client ,如图4所示。
图4:激活 ClearCase Remote Client
- 在Preferences窗口中点击 OK。
在Software Architect中打开 ClearCase 透视图
在本节中,User1 将在Software Architect Client客户端机器上打开一个 ClearCase 透视图:
- 点击 Window > Open Perspective。
- 在 Select 透视图窗口中,选择 Show All 复选框。
- 选择 ClearCase (如图5所示)。
- 在Select透视图对话框中点击 OK。
图5:Select 透视图对话框
在Software Architect中设置 ClearCase Remote Client 选项
在本节中,User1 将在Software Architect Client Machine上设置 ClearCase Remote Client 选项:
- 点击 Window > Preferences。
- 在 Preferences 窗口中,展开 Team 并展开 expand ClearCase Remote Client。
- 点击 Editors/Workspace 选项。
- 选择 Decorate workspace project names with viewtags 复选框,如图6所示。
注意: 通过设置此选项,如果一个项目与一个ClearCase web视图关联在一起,它将会在 Software Architect Explorer 视图中显示在项目名称后面。这将帮助阻止在错误的视图中对文件进行修改。
图6:设置 ClearCase Remote Client 选项
因为我们正在一个共享的开发环境(Base ClearCase)中进行工作,将 ClearCase Remote Client 设置成检出缺省为unreserved。
- 跳到 Team > ClearCase Remote Client 选项页面,并选择 Set default to checkout files as Unreserved,如图7所示。
注意: 你也可以清除此选项以减少合并,但是为了此次测试的目的,你要使用模型文件执行一个合并场景,因此激活此选项。如果其他人想要检出同一个文件,这也将阻止产生瓶颈。
图7:Unreserved 文件检出
- 点击 OK 以退出 Preferences 对话框。
在 Software Architect 中创建一个 ClearCase Web 视图,并装载 Base ClearCase VOB 的工件
ClearCase Remote Client 包括两个视图创建向导:一个是创建一个base ClearCase视图,另一个是使你能够加入到一个UCM项目中,然后创建一个或多个UCM视图,在视图中工作在此项目中的活动上。
在此场景中,我们将使用 Base ClearCase 进行工作。
ClearCase Remote Client 通过一个URL来访问 ClearCase Web 服务器。要连接到一个 ClearCase Web 服务器,你必须使用一个在此服务器上有效的用户名和密码来验证自己。
- 在 Software Architect Client Machine 中,从 ClearCase 透视图,选择 ClearCase > Create ClearCase View,如图8所示。
图8:创建一个视图
- 输入将支持视图的 ClearCase Web 服务器的URL(图9 显示了一个例子)。
图9:确定 ClearCase Web 服务器
注意: ClearCase Remote Client 通过一个URL来访问 ClearCase Web 服务器。
输入 ClearCase Web 服务器的URL,其将支持视图(例如,http://<CC Webserver IP address>:<port#>/ccrc。使用 port# = 81。)
要连接到一个 ClearCase Web 服务器,你必须使用一个在此服务器上有效的用户名和密码来验证自己。如果 ClearCase Web 服务器正在运行Windows,用户名必须包括账号创建所在的Windows域。例如,DOMAIN\user。
如果你已经连接到一个 ClearCase Web 服务器上,并且想要服务器支持你所创建的视图,你可以重用此服务器连接,如图10所示。你也可以选择一个不同的 ClearCase Web 服务器以支持此视图。
图10:重用服务器连接
- 输入所要求的用户信息。输入对于你所提供的用户名有效的密码。
- 点击 Next。
- 为你的Web视图选择一个位置(命名为baseccrc_view1,如图11所示),并点击 Next。
图11:为Web视图选择一个位置
- 点击 Finish 以创建视图。
- 在出现的 Create Base ClearCase View 对话框(如图12所示)中点击 Yes。这使你可以加载视图。
图12:加载视图
- 选择要加载的位于 ClearCase Web Server 上的 Base VOB (图13)。
图13:选择 Base VOB
- 在 ClearCase Web Server 对话框中按下 OK。
ClearCase 透视图应当显示 ClearCase View Configuration 视图,包括加载至你的Web视图中的 Base VOB 工件,如图14所示。
图14:ClearCase View Configuration 视图
导入一个已有的建模项目
在本节中,User1 将导入一个名为Piggy Bank的已有建模项目。
Piggy Bank 范例被分成三个UML模型,每个模型都描述了系统的不同方面:用例模型,分析模型和设计模型。
要导入 Piggy Bank 建模项目:
- 点击 Help > Samples Gallery。
- 在 Contents 窗格中,定位到 Application Samples\Piggy Bank Application\Piggy Bank Models。
- 在右边的窗格中,点击 Import the sample。
- 在 Sample Banking Models 向导中,在Piggy Bank Models 页面上,接受缺省的项目名称并点击 Finish。
- 关闭 Samples Gallery。
图15 阐明了 Piggy Bank 建模项目是如何在 Model Explorer 视图中显示的。
图15:Piggy Bank 建模项目
使用 ClearCase Remote Client 作为一个 team provider 来共享UML项目
User1 将共享此项目以允许其他团队成员来访问它。
要共享此项目:
- 在 Model Explorer 视图中,右键点击 Piggy Bank Models Project,然后点击 Team > Share Project。
- 在 Share Project 向导中,在 Share Project 页面上,点击 ClearCase Remote Client,如图16所示,然后点击 Next。
图16:选择 ClearCase Remote Client 共享项目
- 选择你刚才创建的 Web 视图(baseccrc_view1,如图17所示),并点击 Next。
图17:选择你创建的视图
- 选择 Base ClearCase VOB 进行加载,如图18所示。
图18:选择 VOB
- 点击 Finish 以将项目增加至源代码控制。
你应当看到包含所有 Modeling Project工件的 ClearCase Add Resources To Source Control 对话框,如图19所示。
图19:Add Resources to Source Control 对话框
- 确保你清除 Checkout resources after adding to source control 复选框(如图19所示)。
- 点击 Apply 以将所有建模项目工件增加至源代码控制。
图20 阐明了一个共享项目是如何在 Model Explorer 视图中显示的。
图20:Model Explorer 如何显示一个共享项目
注意,UML Project 带有一个 ClearCase Remote Client Web 视图标记(因为我们在 Software Architect 中设置了 ClearCase Remote Client 选项,使用视图标签名来标记项目名称)。
为 User2 设置工作区域以访问由 User1 所共享的模型
在本节章,User2 将通过创建一个web视图并在其工作空间中导入 Piggy Bank UML 项目,来设置他个人的工作区域。要创建一个视图并导入此共享的 Piggy Bank 建模项目,请遵循以下步骤:
- 启动 User2 的客户端机器上的 Software Architect。
- 当收到提示时,选择你的工作空间或者创建一个新的工作空间。
- 这会激活 Software Architect 中的 ClearCase Remote Client。为得到更多信息,参见前面的 在 Software Architect 中激活 ClearCase Remote Client 一节(由User1所执行)。
- 从 Software Architect 中的 ClearCase 透视图创建一个新的 ClearCase Web 视图(命名为baseccrc_view2)。为得到更多信息,参见 在 Software Architect 中创建一个 ClearCase Web 视图,并加载 Base ClearCase VOB 工件。
- 在 Software Architect(ClearCase透视图)中的ClearCase Navigator 视图中,右键点击 baseccrc_view2 并选择 Update Resource(如图21所示)以将 UML Project 工件获取到你的本地 Web 视图(baseccrc_view2)中。
图21:将 UML Project 工件获取到你的本地 Web 视图
- 点击 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,请遵循以下步骤:
- 点击 File > Import。
- 在 Import 向导中,点击 Existing Project into Workspace ,然后点击 Next。
- 在 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 位置
- 点击 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进行修改:
- 在 User1 的工作空间中启动 Software Architect。
- 在 Software Architect 中的 Model Explorer 视图中,双击 Design Model.emx 打开模型。
- 定位到 PiggyBank Design Model\PiggyBank Viewpoints\Architectural Layers,并双击 Common Elements Diagram 打开图。
- 右键点击 图表编辑器,并选择 Arange All 选项。
- 你应当可以看到 Checkout Resources 窗口。确保 Reserved 复选框没有被选中(如图26所示)。点击 Apply。
图26:Checkout Resources 对话框
- 在 LogHelper Shape 中选择 first warn() 操作,并选择 Navigate > Show in > Model Explorer(如图27所示)。
图27:在 Model Explorer 中选择一个操作进行显示
- 应当在 Model Explorer 中的 PiggyBank Design Model\PiggyBank Implementation Designs\itso.ad.common\Logging\LogHelper 下选中操作。
- 在 Model Explorer 中右键点击 first warn () 操作,并选择 Delete from Model。
- 在 Model Explorer 中右键点击 second warn () 操作,并选择 Delete from Model。你的视图现在应当类似图28所示。
图28:带有已删除的 both warn () 操作的 LogHelper
- 点击 File > Save All。
- 不要在 User1 的工作空间中检入 Design Model.emx 模型文件。
使用 User2 进行一个产生冲突的变化:
- 在 User2 的工作空间中启动 Software Architect。
- 在 Model Explorer 视图中,右键点击 Design Model.emx。
- 检出 Design Model.emx (右键点击 Design Model.emx 并选择 Team > Check-out)。
- 确保 Reserved 复选框没有在 Checkout Resources 对话框中选中(参见图29),然后点击 Apply。这会完成 Design Model.emx 的检出。
图29:检出一个文件
- 定位到 PiggyBank Design Model\PiggyBank Implementation Designs\itso.ad.common\logging\LogHelper。
- 在 Model Explorer 中右键点击 first warn() 操作,并选择 Refactor > Rename。
- 在 Rename Element 对话框中,在 New name 字段中输入
warning
并点击 OK。 - 对 second warn() 操作重复这些步骤。
- 定位到 PiggyBank Design Model\PiggyBank Viewpoints\Architectural Layers,并双击 Common Elements Diagram 打开图。
- 在图编辑器中,右键点击 LogHelper 类的外形,并选择 Filters > Show Signature。
操作标记应当显示在 LogHelper 类的外形中,如图30所示。
图30:LogHelper
- 点击 File > Save All。
- 不要 在 User2 的工作空间中检入 Design Model.emx 模型文件。
要通过 User1 检入模型文件:
- 在 User1 的工作空间中启动 Software Architect。
- 在 Software Architect 的 Model Explorer 视图中,右键点击 Design Model.emx,并选择 Team > Check-in 检入模型。
- 在 Check In Resources 窗口中,点击 Apply。
- 退出 Software Architect。
在这点上,User1 和 User2 都已经对同一个文件进行了修改。User1 已经检入了他的变化。User2 还没有检入她的变化。当 User2 试图检入她的变化时,ClearCase 提示她执行一个合并,以使 User2 可以解决发生冲突的变化。
要由 User2 解决冲突:
- 在 User2 的工作空间中启动 Software Architect。
- 在 Software Architect 的 Model Explorer 视图中,右键点击 Design Model.emx,并选择 Team > Check-in。
- 在 Check In Resources 窗口中,点击 Apply。
- Merge Needed for Checkin 对话框打开了,如图31所示。点击 Merge 按钮。
图31:Merge Needed 警告
- Software Architect Compare Merge Tool 应当启动起来。
你可以在Left、Right 和 AncestorYou 视图中查看 contributor 和 ancestor 文件之间的差异和冲突。你也可以在 Structural Differences 视图中查看有关每个差异和冲突的详情。The Merged result 视图显示了合并后的模型。
- 在 Structural Differences 窗格中选择 Conflicts 页签。
你应当看到模型元素的两个冲突:被 Right Contributor(来自于 User1 的web视图)删除的两个操作,以及被 Left Contributor(来自于 User2 的web视图),如图32所示。
图32:查看冲突
- 在 Structural Differences 窗格中选择 Left Differences 页签
你应当在 Common Elements Diagram 中看到模型操作的两个冲突变化和差异--显示在 Left Contributor (User2 的 Web 视图)中的操作标记--如图33所示。
图33:查看 Left Differences
- 在 Structural Differences 视图中选择 Right Differences 页签。
你应当在 Common Elements Diagram 中看到模型操作的两个冲突变化和差异--移动到 Right Contributor(User1 的 Web 视图)的形状--如图34所示。
图34:查看 Right Differences
- 要接受 User2 进行的变化,在 Structural Differences 视图中再次点击 Conflicts 页签,右键点击 Conflicts 根结点,然后点击 Resolve All with Left Contributor,如图35所示。
图35:选择如何解决冲突
- 选中 Check the Merged result 视图(图36),并确保 User2 进行的所有变化都正确地显示在 Merged Model 中(被重命名为Explorer视图和Diagram视图中警告的两个操作,以及显示在 Diagram 视图中的 LogHelper Shape 的操作标记)。User1 的非冲突性变化也将会显示在合并后的图中(在本例中,重安排了并移动了外形)。
图36:合并后的结果
- 在 Merged Result 视图中,点击 Save 按钮(参见图37中的高亮按钮)。
图37:保存合并后的结果
- 关闭 Merge 窗口。
- 合并现在完成了,并且 User2 可以将她的变化检入到 ClearCase 的源码控制之下(参见图38)。
图38:检入变化
更新 ClearCase Web 视图
使用 User1 启动 Software Architect,并更新你的视图,这样你就可以看到 User2 所检入的最新的变化。
要使用 User1 更新一个视图:
- 在 User1 的工作空间中启动 Software Architect。
- 打开 ClearCase 透视图(参见Open ClearCase Perspective within Software Architect)。
- 在 ClearCase 透视图中的 ClearCase Navigator 视图上,右键点击 baseccrc_view1,并选择 Update Resource(图39),以在 User1 的本地web视图(baseccrc_view1)中获取由 User2 所检入的UML模型。
图39:更新资源
- 点击 Update Resources 中的 Apply,如图40所示。
图40:应用更新
- 在更新 ClearCase Web 视图后,打开 Modeling 透视图来查看你的模型中的变化(点击 Windows > Open Perspective > Modeling)。
- 在 Model Explorer 视图中,双击 Design Model.emx 打开模型。
- 定位到 PiggyBank Design Model\PiggyBank Implementation Designs\itso.ad.common\logging-\LogHelper,并验证两个 warn() 操作现在都有 User2 进行的变化--它们被重命名为 warning()。
- 定位到 PiggyBank Design Model\PiggyBank Viewpoints\Architectural Layers,并双击 Common Elements Diagram,打开图。
- 验证来自两个 contributor(User1 和 User2)的非冲突变化将会显示在图中:移动的形状(来自 User1 的变化),并且操作标记将会显示 LogHelper 类的形状(来自 User2 的变化)。你也将看到 User2对反映到 Diagram Editor 的已重命名的操作进行的变化(两个警告操作被显示在LogHelper Class Shape中)。
更新 User2 的 ClearCase Web 视图也将会反映对最终合并后的 Design Model.emx 模型的最新变化,并检入到 ClearCase VOB中。对于已经显示的此范例,多个 contributor 可以很方便地使用 ClearCase Remote Client 和 Software Architect 来更新共享资源。
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073