PerForce术语中的"获取最新"和"签出"之间是否存在差异?

pen*_*ake 13 version-control perforce

我在使用SVN之后尝试习惯Perforce,我主要使用Commit和Get Latest.

但在perforce中我有点困惑.

术语Get LatestCheck-outPerForce术语有什么区别?

Von*_*onC 23

来自" Perforce Basic Concepts ":

  • 获取Latest(p4 sync)是关于将文件从软件仓库传输到工作区.
  • Check-out(p4 edit)是关于从软件仓库获取最新版本进行编辑的.
    签出文件进行编辑时,其权限设置为读写.未签出文件时,Perforce会将它们设置为只读.

如" Perforce未正确同步文件 "中所述,p4 sync即使启用了"强制操作" ,refresh()也只会更新未打开(签出)的文件.(p4 sync -f).
所以真正的区别在于"签出"将文件标记为被修改,并保护它免受任何刷新(任何"获取最新"操作).

标记评论(并修改我刚才提到的"差异"):

如果在比已打开以进行编辑的版本更新的文件上运行" get latest"(或sync),则会设置需要处理的解决冲突. 因此,虽然文件不会直接通过同步更新,但Perforce会设置冲突,以便通过解决来更新它(事实上,必须在打开文件进行编辑之前完成解析) .