【问题标题】:Does p4 sync also verify the local files?p4 sync 是否也验证本地文件?
【发布时间】:2014-09-06 00:52:00
【问题描述】:

我正在编写一个构建脚本,它创建一个工作区并同步工作区以下载特定库中的所有文件。我想验证下载的文件,或者至少确保它们在途中经过验证。

我已经在运行 p4 sync 来下载文件,但是 p4 sync 是否也会验证它们/对照它们的校验和检查它们?在 p4 同步之后验证它们对我来说是多余的吗?

【问题讨论】:

    标签: perforce


    【解决方案1】:

    p4 sync 唯一要做的就是比较工作区和软件仓库中的文件修订版(Perforce 客户端提供的文件名中# 后面的数字)。如果软件仓库中的修订版本比工作空间版本更新,那么它会被下载到工作空间中。

    据我所知,在 Perforce 中验证文件(或其修订版)时,任何地方都没有校验和。如果你想这样做,你必须在工作区文件和 depot 文件上手动运行校验和函数(你需要单独下载到一个临时目录中),但是这样做会破坏整个过程的目的。

    【讨论】:

    • 对这个问题的回答:Verify Perforce client file copies 似乎表明使用 p4 diff 可以进行校验和。但是,您回答的第一段回答了我原来的问题。
    • 实际上,'p4 sync'确实验证它从服务器传输的任何文件的校验和。这是 4 年前在 2010.2 版本中添加的。这仅适用于同步实际传输的文件;在您的工作站上已经是最新的文件不会被重新验证。校验和验证的目的是检测网络或服务器本身的损坏(或破坏),因此非常有用。
    • @BryanPendleton:您介意提供一些相关文档吗?我想更新答案。
    • 服务器发行说明 (ftp.perforce.com/perforce/r10.2/doc/user/relnotes.txt) 中记录了此行为。搜索“Bug #1291”或“259157”,您将看到我的意思的发行说明。文档不多,抱歉,但总比没有好:)
    猜你喜欢
    • 2021-07-05
    • 2019-02-26
    • 2021-08-10
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多