【问题标题】:Update have list to reflect local working copy更新列表以反映本地工作副本
【发布时间】:2017-11-11 23:46:26
【问题描述】:

我从本地工作区删除了一个不再需要的大文件夹,即 //binary_blobs/...。现在 Perforce(命令行)正在抱怨 丢失的文件,即:

test.raw - submit change default to delete //binary_blobs/test.raw#1

我的目标是告诉远程服务器我已经在本地删除了文件,并且 服务器/仓库副本应该单独保留。本质上,我想更新 “拥有列表”,以便它知道我不再拥有这个 200GB 的二进制文件夹 数据。我跑了p4 flush //binary_blobs/...,希望它能解决问题, 但不是:p4 仍在本地跟踪这些文件。

所以,我决定告诉它在#0 同步此文件夹以删除本地 通过p4 sync -f //binary_blobs/...#0 复制文件,但这也失败了 由于:

//binary_blobs/test.raw#1 is opened for delete and can't be deleted

啊!看来我必须还原我的更改:

p4 revert //binary_blobs/...

现在它再次通过网络重新同步所有数据,这需要几天时间。

问题

我可以通过命令行告诉 Perforce 只更新基于“拥有列表”的 在我本地拥有的东西上,而无需从远程重新拉出整个仓库 服务器?

【问题讨论】:

  • 看来您应该使用p4 delete 删除它们,然后提交您的工作......
  • @Hackerman 我的目的是清理我的本地工作副本,而不是将这些更改传播给远程仓库和其他用户。

标签: linux command-line version-control perforce


【解决方案1】:

终于明白了。首先,我在保持工作区文件原样的同时还原:

p4 revert -k //binary_blobs/...

现在我可以更新到修订版#0

p4 sync -f //binary_blobs/...#0

让我不必手动重新创建工作区。

【讨论】:

  • 您是否已从客户端规范中删除了仓库的那一部分?如果没有,下次您执行普通的旧“p4 同步”时,服务器将再次向您发送这些文件的主要修订版。因此,如果您真的不希望这些文件出现在您的工作站上,则需要更新客户端规范的“视图:”字段。
  • @BryanPendleton 我做到了。感谢您的提醒。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-29
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
相关资源
最近更新 更多