【问题标题】:What is the difference between a reserved checkout and an unreserved checkout?预订结账和非预订结账有什么区别?
【发布时间】:2018-09-29 03:54:47
【问题描述】:

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

【问题讨论】:

    标签: clearcase


    【解决方案1】:

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

    • “悲观”:保留结帐实际上并不能阻止其他人自己结帐,但他们将不得不等待将文件签出为“保留”的人" 进行签入:在该人第一次签入之前,没有人可以签入(然后每个其他用户都必须将他/她的版本与最新的签入文件合并)
      注意:“保留”结帐可以由所有者或管理员释放其锁定并取消保留;

    • "optimistic": unreserved checkout 这意味着(如果没有人在同一个文件上使用保留签出):第一个签入的人无需任何其他操作即可完成,其他人必须将他们的工作与最新签入的文件合并。

    术语使用策略:

    • 通常,保留结帐很好,因为它允许您以“高优先级”进行更改:必须首先考虑它们。
    • 对于不必立即签入的本地修改,无保留签出就足够了。
    • 对于根本不需要签入的本地修改,劫持文件或覆盖文件就足够了(因此,根本不需要签出)

    注意事项:

    cleartool checkout/checkin 不等于:

    • svn checkout/git checkout,正在使用修订/提交的内容更新工作存储库,而不是签出文件的版本:一组文件与一个文件。李>
    • "checkin": svn commit/git commit 将可能多个文件的更改注册到存储库(SVN 为远程,Git 为本地),而不是为 一个文件。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 2017-04-05
      • 2015-03-31
      • 2019-07-15
      相关资源
      最近更新 更多