Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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 &引用;“在浏览器中显示”;有多个文件?_Perforce - Fatal编程技术网

Perforce &引用;“在浏览器中显示”;有多个文件?

Perforce &引用;“在浏览器中显示”;有多个文件?,perforce,Perforce,这是一种常见的情况:大约有30个文件签出到特定的挂起更改列表中。在处理这些文件之后,在提交它们之前,您需要将它们移动到一个文件夹中(在存款之外,所以简单的“集成”不合适) 使用“Show In-Explorer”选项,会弹出很多窗口。这很痛苦(有时,系统无法全部打开) 所以,问题是,有没有一种简单的方法可以从更改列表中复制粘贴多个文件,而无需单独执行此操作?我知道您希望在Performance之外执行这些操作,但我能想到的最好方法是创建另一个专门用于导出文件的工作区。您可以同步Performce

这是一种常见的情况:大约有30个文件签出到特定的挂起更改列表中。在处理这些文件之后,在提交它们之前,您需要将它们移动到一个文件夹中(在存款之外,所以简单的“集成”不合适)

使用“
Show In-Explorer
”选项,会弹出很多窗口。这很痛苦(有时,系统无法全部打开)


所以,问题是,有没有一种简单的方法可以从更改列表中复制粘贴多个文件,而无需单独执行此操作?

我知道您希望在Performance之外执行这些操作,但我能想到的最好方法是创建另一个专门用于导出文件的工作区。您可以同步Performce工作区,使其仅包含特定变更列表中的文件

在此工作区中,尝试在提交更改列表后为其中的文件指定一个特定标签。如果将工作区与此标签同步,它将基于此删除所有没有此标签的文件。(请在该页中查找标签)

这涉及到Perforce,但它确实提供了一种只获取所需文件的方法

我相信您也可以通过使用变更列表编号来实现这一点,但它可能更复杂。我不是100%确定这是否有效

p4 sync #none
p4 sync @changelist,@changelist

我认为这将只同步此变更列表中的文件

您可以使用自定义工具执行此操作

  • 在P4V中,通过工具->管理自定义工具…菜单项打开自定义工具管理器
  • 单击新建->工具…打开“添加自定义工具”对话框并输入这些参数(xcopy不是实现这一点的理想应用程序,但我将在后面讨论1)

  • 现在,您可以选择更改列表中的所有文件,右键单击它们,上下文菜单中将提供一个新项目“将选定的文件复制到其他位置…”

  • 将出现一个输入框,询问您希望将文件复制到哪里

  • 单击“确定”,文件将复制到您在“输入”对话框中输入的位置。可能
1 xcopy存在一些问题:

  • 目标目录必须已经存在
  • 如果路径包含空格,则它似乎不起作用
  • 如果进程失败,您的进程列表将充满一堆xcopy.exe实例,这些实例一直在尝试执行,谁知道会发生什么
  • 如果出现上述情况,自定义工具将不再工作
我也尝试了robocopy,如果有办法将其传递到源目录,这将是完美的,但P4V custom tool editor不提供父目录作为参数。理想情况下,如果这对您来说真的很重要,您应该编写自己的文件复制实用程序。这不需要太多的工作

最后,P4V自定义工具编辑器提供了一个文件浏览器,但不是一个文件夹浏览器,后者才是像这样的工具真正需要的


因此,请尝试使用自定义工具。您可能会找到问题的答案。

我正在尝试理解您为什么要将文件移动到另一个文件夹。如果该文件夹位于硬盘驱动器上,则移动将断开文件与仓库之间的链接。原因有很多;在单独的pro上使用这些文件或者只是给某人一份副本,而不允许他访问存款。如果你想在不同的项目中使用这些文件,那么将它们分支到Perforce.Chris中,就像我说的,“集成”“不是解决方案,因为第二个项目不在存款上。您也可以使用p4v仅获取具有特定标签的文件;我不确定你会赢。
p4 sync #none
p4 sync @changelist,@changelist