Perforce 高效同步大型Performce存储库?

Perforce 高效同步大型Performce存储库?,perforce,Perforce,我无法从perforce服务器获取最新版本。仓库非常大,我不想做一个完整的结帐,因为这将花费很长时间。相反,我将未版本化的源和依赖项放在工作区中,并执行“p4 sync-k”。这将成功地更新我的文件,但不会从服务器中带来新文件 我该怎么做呢?这是一个经典的性能问题 要实现这一点,您需要将几个命令组合在一起 p4 diff-sd//Depot/Path/p4-x–同步-f p4 diff-sd命令将查找工作区中不存在的所有文件 p4-x–sync-f将强制同步这些文件 正如p4 randall在他

我无法从perforce服务器获取最新版本。仓库非常大,我不想做一个完整的结帐,因为这将花费很长时间。相反,我将未版本化的源和依赖项放在工作区中,并执行“p4 sync-k”。这将成功地更新我的文件,但不会从服务器中带来新文件


我该怎么做呢?

这是一个经典的性能问题

要实现这一点,您需要将几个命令组合在一起

p4 diff-sd//Depot/Path/p4-x–同步-f

  • p4 diff-sd
    命令将查找工作区中不存在的所有文件
  • p4-x–sync-f
    将强制同步这些文件 正如p4 randall在他的文章中所说,您可能还想运行
    p4 diff-se…|p4-x-sync-f
    同步任何过期文件


    嗯,

    如果我了解你的情况:

    • 你面对的是一个非常大的项目
    • 您有一个不完全是最新数据的本地快照
    • 您只希望获取快照与服务器上最新快照之间的差异
    您应该遵循以下步骤:

    • 运行
      p4 sync-k
      ,使Performce认为您拥有所有文件的最新副本
    • 运行
      p4 diff-se…|p4-x-sync-f
      强制同步任何过期文件
    • 运行
      p4 diff-sd…|p4-x-sync-f
      强制同步任何丢失的文件
    此时,您可能有从服务器上删除的本地文件。如果您关心这些,您可以编写一个简单的脚本来检测它们并将它们从文件系统中删除

    好消息是Perforce的下一个版本(2012.1)有一个
    status
    命令,可以更轻松地识别所有差异


    从另一个角度来看,您是否需要将整个项目放在您的工作区中?您能否将工作区视图缩小到只处理数据的子集?

    您必须提供更多信息。关于Performce,总共有630个其他问题。这意味着在数以百万计的问题中,只有630人提出了关于Perforce的问题。你必须提供更多的信息。当你说仓库很大,我们谈论的是多大,我猜整个问题是你使用的是未版本的源代码。试试看
    p4 sync
    ?-k选项不应该从服务器中提取文件
    p4帮助同步
    是你的朋友。@Ramhound。仓库足够大,需要10个多小时才能获得完整的来源和依赖关系。其他人从perforce服务器获得的未版本文件,我想使用它们,而不必再次签出任何内容。@IanGilham。问题是“p4同步”需要永远依靠自己。这就是为什么我第一次尝试“p4 sync-k”,然后才尝试“p4 sync”,但我得到的信息是“文件是最新的”,它们是最新的,但是服务器上有很多文件,而客户端上缺少这些文件。我不明白为什么这个问题作为主题外的问题被关闭。同步大型存储库肯定与软件开发相关,p4 randall提供的(更好的)答案是有价值的信息。也许可以将问题标题改为“高效同步大型Performance存储库”,而不是“Performce Update”。关于
    状态
    命令的好消息。你能举一个例子说明它的用法吗?参见由用户1054341链接的“p4状态”p4博客的例子;链接现在被删除并移动到那里: