Perforce Performce将目录快速同步到干净状态
我想要一个不需要强制同步的快速解决方案,它可以将指定的目录置于其原始存储库状态Perforce Performce将目录快速同步到干净状态,perforce,Perforce,我想要一个不需要强制同步的快速解决方案,它可以将指定的目录置于其原始存储库状态 可以从磁盘中删除相同的文件 可以从磁盘添加相同的文件 某些文件可能会在磁盘上被修改 某些文件可能会在perforce中标记为删除、添加或修改 我所要做的就是确保在运行该命令之后,我不会有任何这些 p4-f sync不是一个选项,我需要一个更快的解决方案,可以最大限度地减少网络使用 万一有人问起,Performe proxy已不再讨论 我知道部分解决方案是: p4 diff-sd-se//clientspec/di
- 可以从磁盘中删除相同的文件
- 可以从磁盘添加相同的文件
- 某些文件可能会在磁盘上被修改
- 某些文件可能会在perforce中标记为删除、添加或修改
p4-f sync
不是一个选项,我需要一个更快的解决方案,可以最大限度地减少网络使用
万一有人问起,Performe proxy已不再讨论
我知道部分解决方案是:
p4 diff-sd-se//clientspec/dir/p4-x-还原
问题是,这不会删除添加到上面路径中的文件,这些路径不在perforce中—我希望从磁盘中删除的文件
另外,我需要一个多平台或跨平台的解决方案-它必须在Windows、OS X和Linux上工作。如果您有Unix/Linux,这可能会工作 在Perforce中,您可以通过p4v(如图所示)或通过命令行(如图所示)来“协调脱机工作”。在恢复编辑和删除的文件时,您已经按照问题中的说明执行了后者。添加的文件更复杂。第二个链接将让您执行以下操作
find . -type f -print | p4 -x - add
find . -type l -print | p4 -x - add
在Unix中添加文件和符号链接的步骤
棘手的部分是从物理上删除您添加的文件。这并不漂亮,但我认为它会起作用。
p4打开| grep add | cut-f1-d“#”| p4-x-其中| cut-f3-d”
那么你需要做一个
p4 revert directory/...
或者在删除文件时执行与上面类似的操作。对于使用svn的构建服务器,我需要这样做。我最后做的是:
- 更新工作区
- 删除旧的“构建文件夹”(如果有)
- 将工作区复制到“生成文件夹”
- 在“生成文件夹”中执行生成
这样,我就知道旧版本没有什么悬而未决的了。另一个Unix/Linux代码段应该删除所有perforce从未跟踪过的文件:
find-键入f | p4-x-files 2>&1 | sed-n-e/-没有这样的文件。//p'| xargs-d'\n'rm
Performce在2014年添加了一个新命令“p4 clean”。1该命令通过将您的工作区重置为其“have”状态,完全满足您的要求:
- Perforce中不存在的新文件将被删除
- 在Performce control之外修改的文件将被重置
- 在Performce control之外删除的文件将被恢复