Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perforce 如何在Performance之间移动文件夹;“仓库”;_Perforce_Depot - Fatal编程技术网

Perforce 如何在Performance之间移动文件夹;“仓库”;

Perforce 如何在Performance之间移动文件夹;“仓库”;,perforce,depot,Perforce,Depot,在前几天无意中删除了我的Svn repo之后,我想尝试其他东西,我选择了Perforce作为我当前的版本控制工具测试场。比赛进行得很顺利,我很喜欢我在Perforce看到的一切 这是我的问题。我已将文件提交到Perforce服务器,然后使用客户端PC从主Perforce服务器获取这些项目。现在一切都很好,除了我意识到在performe中使用多个“仓库”是可能的,而且我认为我应该将其中一些项目转移到另一个仓库fpr,以便于组织,也可能是出于安全原因 我一直在寻找一些答案,我已经找到了其中的两个,但

在前几天无意中删除了我的Svn repo之后,我想尝试其他东西,我选择了Perforce作为我当前的版本控制工具测试场。比赛进行得很顺利,我很喜欢我在Perforce看到的一切

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

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

我试过的一页是这一页

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

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

这就是我想要的

--当前

--我想要


谢谢

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

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


对于您所描述的场景,在可预见的未来,将所有文件放在仓库a下可能很好。

在不同仓库之间移动文件与在同一仓库内的文件夹之间移动文件没有区别,但目标仓库必须已经存在。以您的示例为例,假设“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函数库的脚本语言都可以。几个复杂的问题:变更列表将按顺序与原始列表相同,但原始时间不会-它们将是“当前的”。当然,如果有标签,如果你想保留它们,你需要在新的位置绘制出来。

Bryan Pendleton,谢谢你的洞察力。然而,我想知道如何真正做到这一点,以满足未来的需求。您确实需要首先定义Depot-B。您可以使用“p4 depot”命令执行此操作。站点可以在服务器上有单独的物理存储,因此它们需要一个简短的定义。@p4 randall:谢谢,我修改了我的答案。我想仓库有点特别。
//Depot-A
 -->folder1

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