用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命令参数自己搜一下吧,其实上面有些步骤可以用命令参数完成。
当然,上面的方法只能用于紧急情况,而且需要一定的权限,呵呵,再说就远了...
某人以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命令参数自己搜一下吧,其实上面有些步骤可以用命令参数完成。
当然,上面的方法只能用于紧急情况,而且需要一定的权限,呵呵,再说就远了...