一、前言
本篇主要做一个练习,登录远程服务器,完成以下几个任务:
1. 在已有pvob下创建一个集成流和一个开发流;
2. 在上述创建的集成流和开发流上分别创建一个view;
3. 在开发流的开发view上创建一个element;
4. 将上述变更deliver到集成流上,并且完成deliver,确保在集成流上能看到刚刚创建的element;
5. 上述步骤完成后,在集成流上的额组件(component)打上新的baseline,并且将所打的baseline推荐出去;
6. 将新打的基线Rebase到开发流上;
7. 完成。
二、操作流程
Step1:通过SecuCRT连接到远程服务器
打开SecuCRT,主界面如下图(左),点击文件——>连接,弹出下图(右)
选中Sesson——>右键——>快速连接(Q),弹出快速连接对话框如下(左)
输入要连接的远程服务器地址作为主机名:***.***.***.*** ,输入用户名:*****,点击连接按钮,弹框显示上(右)所示
输入密码:******,点击确定按钮,主界面显示如下
输入登入命令:**********,回车,这里将看到远程服务器的端口号:20
双击vncviewer.exe,弹出对话框(左),输入服务器地址及上述端口号,即:***.***.***.***:20,点击ok按钮,弹出对话框(右)
输入密码:******,点击ok按钮,弹出远程服务器vnc主界面如下
Step2:打开已有的pvob目录
点击vnc主界面左下角的如下图黑色箭头所示的图标来开启终端
终端窗口如下
在上述终端窗口中,输入以下命令,打开一个新的程序,叫clearcase project浏览器,用于查看pvob和project信息
命令: /usr/atria/bin/clearprojexp&
输入命令后,弹出如下新的
Step3:在pvob下创建两个stream:一个集成流(Integration stream)和一个开发流(Develop stream)
1. 在上面窗体的左侧找到project:tlte_tla1.0,其中有一个集成流叫:tlte_tla1.0_integration,选中——>右键——>Create Child Stream,如下图(左)所示,点击上图的Create Child Stream后,会弹出下图(右)
这是由于在同一个账号下,创建了太多的stream了,遇到这种情况,直接敲回车即可,然后会弹出下面的对话框(左),在其中输入stream的名称:xxx095_tlte_tla1.0,并且将创建view的提示取消(因为后面会用命令行的方式来创建),如下图(右)所示
点击ok按钮即可,此时就创建了集成stream,同样的方法选中刚刚创建的集成stream,再其下面创建一个开发stream,如下图所示
但是此时点击ok按钮后,会弹出一个错误如下,原因是什么呢???
原因是:未为当前stream指定baseline,因为一个stream要有一个起始点,叫fundation baseline
这时我们应从集成stream:*****_tlte_tla1.0中推荐一个baseline,操作如下(左),点击Recommend Baselines…后,弹出下图(右)
此时点击上图的Seed List按钮,会推荐最新的baseline,如果这个stream没有baseline,就会推荐自己的fundation baseline。
这里,我们点击Seed List按钮,找到真正的代码的baseline,如下图(左)所示
点击左图的ok按钮,弹框显示如下
此时说明推荐baseline成功
点击上面的ok按钮后,再重新创建开发stream:****_tlte_tla1.0_dev
点击上图(左)Advanced Opyions…按钮,弹框显示我们刚刚选中的baseline,如上图(中)所示,点击ok,回到主界面,看左侧栏,就会看到我们刚刚创建的两个stream,如上图(右)所示,至此,两个stream就创建成功
Step4:在上述创建的stream下分别创建一个view
选中新建的开发stream:****_tlte_tla1.0_dev,右键——>Create View…,如下图(左)所示,点击完Create View…后,弹出下图(右)
修改上图(右)中的View tag,如下图(左)所示,点击下图(左)Advance Options…按钮,查看路径是否正确,如下图(右)所示
路径检查正确后,点击ok,弹出如下确认框
再检查一下,如果没有错的话,就点击Continue,接着再在集成流上创建另外一个view,过程一样
Step5:在开发stream上创建element
Step5.1:首先查看一下刚刚创建的两个view,使用命令:ctlsview |grep *****,命令行窗口显示如下:
接着在开发view上创建element,命令:ctsetview ****_tlte_tla1.0_dev,然后切换到目录:/vobs/***_vob2/***_user/下面
命令:cd /vobs/***_vob2/***_user/ 命令:ls
接着创建txt文件,命令:ctmkelem–nc *****.txt,这时出现一个错误如下:
错误显示:目录不能被修改,因为未进行checked out,这是因为目录改变时,必须要checkedout出来,之后才可以checkedin
注意:目录的变化情况有三种:文件或子文件的增加、删除或重命名,当进行着三种操作时,必须先checkedout
好了,这里我们先进行checkedout操作,命令:ct co –nc.
这里又出现一个错误,这是因为操作一个branch必须要有一个activity和一个view,而这里我们就是在view中,还需要一个
activity,此时就应该创建一个activity
命令:ctmkact –nc
到此,我们来验证一下,命令:ct co –nc .
从上图,我们看到黑色部分,目录已经checkedout出来了,并且已经绑定到我们创建的activity中了
Step5.2:创建element 使用命令:ct mkelem –nc ****.txt,看下图黑色部分,发现创建成功
Step5.3:输入element的内容,使用命令:vi !$切换到元素输入框如下图(左),接着输入元素内容,如下图(右):
此时,必须保存退出,方法:首先按esc键,接着输入“:wq”,查看是否保存成功的命令:cat !$或直接 cat ***.txt,结果如下:
看到上图黑色部分就是我们刚刚输入的元素信息,说明保存成功了
Step5.4:checkedin操作 命令:ct ci –nc –cact
这时查看目录,命令:ct lsact –l 看到黑色部分,已经生成了两个版本
Step6:deliver上述变更
step6.1:首先我们先看一下,deliver命令的相关参数选项有哪些,命令:ct deliver -
step6.2:看看我们要deliver的内容,使用命令:ct deliver -pre,发现下图黑色部分就是我们需要deliver的内容
step6.3:进行deliver操作 命令:ct deliver
这里因为后面要进行merge,需要一个目标view,因此,这里应该输入yes,我们可以看到下图黑色部分,自动进行merge
这里需要在目标view上进行编译和测试
step6.4:新开一个窗口,去到目标view上,在新的窗口中输入命令:ct setview ****_tlte_tla1.0,回车;接着输入以下几条命令:
cd /vobs/tlte_vob2/
cd ***_user/
ls
ll
上图黑色部分就是我们刚刚创建的,看看其是不是被checkedout了,使用命令:ct ls ***.txt
看到上图的黑色部分,显然已经被chekedout了,然后,我们看看是不是我们刚刚输入的内容,输入以下命令
ct lsact –l –cact
cat ***.txt
看到上图黑色部分内容跟我们预期的一样,说明chekedout正确
step6.5:完成deliver 命令:ct deliver -comp 回车
输入yes后,显示如下,说明deliver完成
注意:一旦deliver完成,就不可以再回退了哦
step6.6:查看是否deliver成功 命令:ct lsact –l –cact回车,发现没有了,接着输入命令:ct lsact –l 回车,到这里都已经是checkedin版本了,接着输入命令:ct ls ***.txt
到这里,我们可以看一下版本树是什么样的,输入命令:ct lsvtree –g ***.txt回车
Step7:在集成stream上打baseline
回到主界面,选中集成stream,右键——>Make Baseline,并修改Baseline Title为:BL_20140808_****_INT,如下图(左)所示,点击下图(左)中的ok按钮,弹框显示如下图(右)所示
接着推荐baseline,回到主界面,选中集成stream——>右键——>Recommend Baselines…,点击Recommend Baselines…后,在弹出的框中点击Seed List按钮,就会看到我们的baseline直接打到最顶层了,如下图所示
Step8:将新打的baseline进行Rebase下来
回到主界面,选中开发流——>右键——>Rebase,弹框显示如下,点击ok按钮
再点击complete按钮,弹框显示
点击ok,再点击close
再查看开发流的配置,选中开发流——>右键——>Properties
点击configuration按钮,显示如下:
看到其中的fundation baseline已经变成了我们刚刚打的baseline
至此,我们这个练习就已经完成了