当前位置: 代码迷 >> Rational >> 相关clearcase版本控制的一个疑问
  详细解决方案

相关clearcase版本控制的一个疑问

热度:4538   发布时间:2013-02-26 00:00:00.0
有关clearcase版本控制的一个疑问
有关才clearcase的使用,咨询个问题:
    在提交修改的源代码的时候,我发现他需要每个文件都确认一次,每次都需要填写一个提交说明
    虽然可以通过applyall按钮或者说选项,来让他每个文件都是用同样的设置,但是还是可以看出来
    clearcase是对每个文件进行跟踪的,而不是对一次提交的所有文件进行跟踪。这一点,也可以从clearcase
    的version tree看出来,他是针对每个文件的,而不是针对一次提交过程的。
 
    如果clearcasebun只能提供这种模式,那么在某些情况下,会有些不便,原因如下:
    对于某个MR的修正,往往可能会涉及多个目录,多个文件的修改,有时候,这个改动还会相当大
    此时,没有人会知道针对这个MR到底改动到哪些文件(退一步讲,到底改了哪些文件,需要修改者自己想办法去记住,或者手动纪录,
    另外一种方法就是用clearcase的update view方法,知道改了哪些文件,但这一是耗时,二是只在提交前有效,提交后我怎么办?)
    而别人如果想察看这次改动的情况,必须原原修改者拿到config spec和修改纪录才行
    我觉得这是相当不方便的
 
    那么,我想,clearcase有没有这样一种模式(或者说是操作方法),可以让工程师对一次提交作标记,在这个标记里面
    可以纪录这一次提交所有相关的东西,比如,涉及的文件,改动的版本,所有改动的纪录等等
    这样,别的工程师可以根据这个标记,很容易就知道改动的细节问题,这样又便于其他人做二次确认,
    也便于对这个MR做修正(万一原来的工程师走了,或者改错了呢?)
 
    我知道clearcase的这种操作模式跟cvs一样,但是同时,你可以察看另外一个工具subversion,是可以提供我所说的后面这种模式的
    也可能是我对clearcase不熟悉,导致问出这么若的问题,如果是这样,请指教该如此操作,谢谢:)

------解决方案--------------------------------------------------------
可以使用UCM,这样就可以使用一个叫activity的概念。一个activity是一个修改了的文件的集合,通过activity的change set属性就可以知道都有哪些文件修改过了。如果使用base clearcase,那就得自己开发一个类似activity的机制来实现你的需求了。
------解决方案--------------------------------------------------------
clearcase的命令行模式可以提供很方便的解决方案。
每次改动最好建立标准的activity
这样在activity的chgset中就可以看到你做的所有的文件版本修改。

cleartool setactivity act1
cleartool co -nc file1
修改file1文件后
cleartool ci -nc file1
cleartool lsact -l act1
这样你在就可以看到change set的结果了。
------解决方案--------------------------------------------------------
实际上你的问题不就是变更管理么。。。

clearquest

标准答案:UCM+activity

另外同意某位同志,一定要有一套配套的使用规范,才能发挥完美效果。
------解决方案--------------------------------------------------------
用activity来加以标记