`
haiouc
  • 浏览: 115389 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

clearcase 中reserved和unreserved的区别

    博客分类:
  • SCM
阅读更多
   一个文件可以被多个用户的多个view来unreaserved checkout,但是同时只能有一个用户reserved checkout。
    当一个用户reserved checkout的时候,其他unreserved checkout的文件,不能checkin,只能等reserved checkout的文件被checkin之后才能够checkin。

例外情况:
    一个静态view和一个dyview,当静态view没有及时更新时,其他用户已经对一个文件进行了更改,此时dyview上面是最新的文件版本为4,而静态view还停留在老版本3上,这样,当dyview对这个文件reserved checkout的时候,静态view也可以reserved checkout这个文件,因为他们reserved checkout的文件不是同一个版本。


[xxx_view]abcd:/VXWORKS/debug   ====>> 在开发的视图下面去修改这文件的属性
$ ct unreserve vxworks_dbg.c
Changed checkout to unreserved for "vxworks_dbg.c" branch "/main/9".


==================================================


ClearCase如何checkin别人checkout的代码
用ClearCase做团队开发时难免遇到这样的情况:
    某人以reserved模式checkout了某个版本文件,在他/她checkin之前发生了特别状况而没有checkin(如vod is locked, ClearCase is down,或者其它人为原因)。这时恰好有一个新的build,他/她修改了版本包含一个重要的bug fix,Manager指定你去checkin他/她的代码,事实上你没有权限checkin或者unco别人的代码,也没有权限在其它view里创建新的版本,除非你是“特殊群体”的一员(Admin, root, ...),怎么办?其实很简单,听我慢慢道来。


    ClearCase checkout文件有两种模式:reserved和unreserved。一个版本可以有至多1个reserved checkout和N个unreserved checkout。
(1)首先设置当前view为那人的view:
cleartool setview <his/her view name>
(2)把那人reserved checkout变成unreserved checkout:
cleartool unreserve <his/her checkout file>
(3)cp那人修改的文件到一个临时位置
(4)在另一个view时对需要修改的文件进行checkout and checkin,原来那人checkout出来的版本,留待他/她自己unco吧

具体的ClearCase命令参数自己搜一下吧,其实上面有些步骤可以用命令参数完成。
当然,上面的方法只能用于紧急情况,而且需要一定的权限,呵呵,再说就远了...
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics