繁体   English   中英

如何在Perforce“depots”之间移动文件夹

[英]How do I move folders between Perforce “depots”

之后我意外删除了我的Svn repo,我想尝试别的东西,我选择了Perforce作为我当前的版本测试工具测试场。 它很棒,我喜欢在Perforce看到的东西。

这是我的问题。 我已将文件提交到Perforce服务器,然后使用我的客户端PC从主Perforce服务器获取这些项目。 现在一切都很好,除了我意识到在Perforce中可以使用多个“仓库”,我觉得我应该把一些项目移到另一个仓库fpr,为了组织而且也许出于安全原因的客栈案例。

我一直在寻找一些答案,我找到了几个但是我无法产生任何预期的结果,因此我在这里寻找一些专家建议。

我试过的其中一个页面就是这个

http://kb.perforce.com/article/24/renaming-depot-directories

似乎提供了解决方案,但是我无法将文件从一个软件仓库移动到同一服务器进程上的另一个软件仓库。 页面中的示例适用于将某个文件夹移动到同一库中的文件夹。 该示例似乎演示了移动到同一软件仓库下的另一个文件夹。

因此,我正在寻找一种合理且安全的方法将我的主Perforce depot文件夹移动到同一服务器上的另一个软件仓库,并且自然不会丢失任何工作。

这就是我想要的

- 当前

//Depot-A
 -->folder1
 -->folder2

- 我想要

//Depot-A
 -->folder1

//Depot-B
 -->folder2

谢谢

在不同软件仓库之间移动文件与在同一软件仓库中的文件夹之间移动文件没有什么不同,但目标软件仓库必须已存在。 使用您的示例,并假设“Depot-B”尚不存在,将“folder2”从“Depot-A”移动到“Depot-B”,您只需执行以下操作:

p4 depot Depot-B
p4 edit //Depot-A/folder2/...
p4 move //Depot-A/folder2/... //Depot-B/folder2/...
p4 submit

这就是我要做的事情(简而言之):如果您打开P4V会话并选择提交的更改列表选项卡,则可以过滤此设置以仅显示与您要移动的部分相关的更改。 这是您要在要填充的新软件仓库(甚至服务器)上复制的更改集。 这个想法是你在一侧解开档案文件并在目的地以相同的方式将它们卷起来。 因此,该过程简单地(1)同步到第一个变更列表,(2)将该集合集成到新位置,(3)检查该集合,以及(4)进入下一个变更列表。 显然这可以编写脚本。 我目前正在使用python编写脚本,但使用Perforce函数库的任何体面的脚本语言都可以。 一些复杂情况:变更列表将与原始顺序相同,但原始时间不会 - 它们将是“当前”。 当然,如果有标签,如果您希望保留标签,则需要在新位置进行映射。

我不认为额外的软件仓库会增加安全性。 多个仓库场景主要出现在非常大的安装中。

其他软件仓库的主要好处是您可以更好地控制服务器的磁盘空间布局,例如,如果您的存储库太大而无法放入单个文件系统,并且需要将其扩展为使用多个文件系统。 创建额外软件仓库的第二个原因是,您必须拥有专门类型的软件仓库; 例如,如果您希望创建Streams库以使用Perforce Streams功能。

对于您所描述的场景,在可见的将来,将所有文件保存在Depot A下可能没问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM