perforce:在正常的“获取最新版本”之后避免强制同步没有得到全部

时间:2012-09-12 09:16:42

标签: perforce

我想知道是否有办法告诉perforce仅同步缺少的(来自给定的工作空间视图)文件,而不是正确覆盖现有的,即避免使用{{的方法1}}正常的“获取最新版本”(p4 sync -f)之后没有全部完成。

3 个答案:

答案 0 :(得分:7)

试试这个:

p4 diff -sd | p4 -x- sync -f

这是一个链式命令,可以找到工作区中不是#head修订版(p4 diff -sd)的所有已知文件,然后强制同步仅限这些文件p4 -x- sync -f )。请注意使用-x-指示第二个命令从标准输入(STDIN)读取。

答案 1 :(得分:1)

如果p4 sync没有获取该文件,则perforce服务器认为您已经拥有该文件。

p4 sync <missing file>#0使服务器同步到丢失的文件,然后p4 sync <missing file>获取新副本。

或者,p4 sync -f <missing tree>/...只会同步丢失的树。

答案 2 :(得分:1)

无法避免全局-f选项。

如果正常同步没有获得该文件的最新版本,那么Perforce认为您已经拥有它。您是否已将文件状态设置为Perforce外部可写?

如果您知道哪些文件/文件夹受到影响,您可以在这些文件/文件夹上使用-f,这样会更快,但这意味着您可能会遗漏某些内容。