保留结账和无保留结账有什么区别?

时间:2010-06-01 13:05:41

标签: clearcase

当我在ClearCase中签出文件时,它会询问我是否要查看“保留”或“未保留”文件。这些类型的结账之间有什么区别?何时适合使用它们?

1 个答案:

答案 0 :(得分:15)

正如"What are the basic clearcase concepts every developer should know?"中所提到的,ClearCase支持一种锁定机制:

  • “悲观”:保留结帐实际上并不会阻止其他人自行结帐,但是他们必须等待签出文件的人员“保留” “办理登机手续:在第一次办理登机手续之前,没有人可以办理登机手续(然后每个其他用户必须将他/她的版本与最新的登记档案合并)
    注意:“保留”结帐可以释放其锁定,并由所有者或管理员保留;

  • “乐观”:无保留结帐,这意味着(如果没有人在同一个文件上使用保留结帐):第一个办理登机手续的人可以在没有任何其他操作的情况下进行,其他人必须将他们的工作与最新的登记文件合并。

在术语中,如果使用政策:

  • 通常,保留结帐很好,因为它允许您以“高优先级”进行更改:必须首先考虑它们。
  • 对于无需立即办理登机手续的本地修改,无保留结账即可。
  • 对于无需办理登机手续的本地修改,劫持文件或重叠文件就足够了(因此,根本没有结帐)

注意:

cleartool checkout/checkin与以下内容不同:

  • svn checkout / git checkout,它们正在使用修订/提交的内容更新工作存储库,而不是签出文件的版本:文件集与一个档案。
  • “checkin”:svn commit / git commit已将可能多个文件的更改注册到repo(远程用于SVN,本地用于Git),而非创建一个文件的新版本。

Git本身不会有“文件锁定”(保留结帐)。只有使用Git的系统可能会提供该功能,例如Git LFS