在 Perforce 中,是否可以重命名仓库?
我想您可以跨不同的命名仓库进行集成,但我认为这不会延续整个仓库的历史。
我看过这篇重命名仓库目录文章,但这仅适用于仓库下的目录(而不是仓库本身)。
不可以。您不能重命名软件仓库,因为 Perforce 不允许您将文件从软件仓库 A 移动到软件仓库 B,除非软件仓库 B 已经存在。如果要将库 A 重命名为库 B,请执行以下操作:
过去,在 Perforce 中将文件移动到新位置意味着您丢失了它们的历史记录。旧文件被删除,然后再次添加到新位置,就好像它从未受到版本控制一样。这已不再是这种情况。我不记得他们是什么时候做的(也许是在 2008.x 系列中?),但他们最终做到了,以便在移动/重命名/集成中维护文件历史记录。
编辑:在下面的评论中,Greg Whitfield 告诉我 Perforce 一直在跨集成维护文件历史记录。我猜它默认关闭并在相当新的 P4V 版本中打开?
联系 Perforce 支持。他们可以指导和支持您完成实际重命名软件仓库的过程,其中涉及操纵元数据。
披露:我为 Perforce 工作。
无论您打算做什么 - 在将您的数据置于风险之前进行测试。:)
支持的版本(在线):
http://answers.perforce.com/articles/KB_Article/Renaming-Depot-Directories
不支持的版本(离线):
获取http://swarm.public.perforce.com/files/guest/tony_smith/perforce/utils/rename_depot.pl
运行它:
perl rename_depot.pl olddepot newdepot checkpoint.NNN > checkpoint.NNN.new
从检查点恢复。
通过编辑(重命名的)仓库规范中的“地图”字段来移动存档位置和仓库地图。
不支持的版本(在线):
p4 duplicate //olddepot/... //newdepot/...
p4 snap //newdepot/... //olddepot/...
p4 verify -q //newdepot/...
(check for any error, stop and contact support if in doubt)
p4 obliterate //olddepot/...
愿 Perforce 与您同在。