我正在尝试通过它的命令行实用程序自动访问Perforce。
使用p4 client
创建新的客户端工作区并同步可以正常工作。
现在我允许用户覆盖用户,主机,端口,流,修订版。 从文档中我不清楚何时必须执行哪些命令以使客户端工作区文件与编辑的客户端工作区规范同步。
我目前所做的是p4 client
通过搜索
Client mymachine not changed
在stdout中,如果消息没有出现,请执行p4 sync -f
。
有更好或更明智的方法吗?
我试过执行例如p4 sync -s
希望如果删除本地数据会失败,但似乎我误解了这个选项?
答案 0 :(得分:1)
我不清楚这与您关于工作空间的问题有什么关系:
现在我允许用户覆盖用户,主机,端口,流, 修改
因为其中只有一个是工作空间的属性。我暂时不理会这个陈述但是如果它很重要我鼓励你发布一个后续行动来澄清你的意思"覆盖"每个属性。
问题:
从文档中我不清楚何时必须执行哪个 用于使客户端工作区文件与已编辑的文件同步的命令 客户端工作区规范。
如果客户端查看已更新,您只需:
p4 sync
如果客户端 Root 已更新,或者全局影响文件写入工作区的其他任何选项,例如 allwrite 或 modtime < / strong>,您需要重新同步整个客户端。理想情况下,这可以通过以下方式完成:
p4 sync #none
之前以其中一种方式更改工作区。另一种选择是做类似以下的事情:
p4 sync #none
p4 sync
p4 clean
确保所有内容都被重写,以及任何落后者(例如&#34;同步#none&#34;无法找到因为Root已更改但仍在客户端视图中映射的任何内容)从工作区中删除。
我试过执行例如p4 sync -s希望它会失败 本地数据被删除,但似乎我误解了这个选项?
删除本地数据与编辑客户端规范是一个单独的问题,但为此您所需的命令是p4 clean
而不是p4 sync
- 您使用sync
告诉服务器您希望它向您发送新修订版,您使用clean
使工作区重新与服务器已发送给您的工作区一致。
建议/支持的工作流程始终使用p4命令来操作工作区中的只读文件 - 因此,如果要删除本地文件,请使用p4 sync FILE#none
(将其从工作区中删除)但不影响软件仓库)或p4 delete FILE
(打开它进行删除,以便在您提交时为所有人删除)。