-1

我正在寻找一种在 Perforce 更改列表中嵌入文件附件(如屏幕截图)的方法。我希望(但并不乐观)P4 内部有一种方法可以真正做到这一点,可能是通过一个插件。

如果没有,我将不得不自己考虑编写一个插件(任何指针?),或者我必须为 P4 签入制作一个包装器,该包装器也上传/提交附件,然后通过标识符将该附件链接到 CL CL里面。(然后我需要一个工具来关联和显示两者)。

添加更多信息:我正在通过我正在编写的 P4API 机器人与 P4 服务器交互。该机器人会爬过每个签到并收集它获得的数据以生成报告。即,它将提交与通知任务的实际功能规范相关联,生成该任务的进度历史等。在这种情况下,将额外的元数据附加到 CL(如屏幕截图)是有用的,因为这些附件可以用于数据挖掘——他们可以增强我正在生成的报告。无论如何,我可以通过一个包装程序来防止不良/猖獗的元数据附件,该程序用于制作我们所有 P4 提交的 95%,无论如何(它有自己的对话框)。但是当 P4 CL 规范似乎只有文本可用时,我必须弄清楚如何在 P4 中呈现所有数据。

4

1 回答 1

1

我认为没有任何(简单的)方法可以满足您的要求。变更列表是“原子变更事务”。它们的元数据很少。p4 更改的P4 命令参考列出了您可以执行的所有操作,并且不存在添加任意附件。

您可以随时在Perforce 论坛中打开功能请求。

回应编辑

看起来这实际上只是您面临的一个更大问题的一个实例:管理您的仓库项目及其变更列表周围的元数据。我建议您将此要求用作在您的组织中进行一些更大的流程更改的驱动力。如果您有大量基于项目的自动分析生成的数据,那么最好创建一个适当的数据库来组织它们。您的提交包装器可以处理将屏幕截图(或任何其他元数据)放入数据库并使用指示在数据库中何处查找附件的标记来注释更改列表描述。

一个全面的数据库解决方案将允许您以比目前更有条理的方式将附件、更改列表和其他数据与彼此以及其他项目资源相关联。

原始回复

如果您决定编写一个插件来处理此任务而无需数据库,我建议的方法如下:

  1. 将所有团队成员都可以访问的共享网络驱动器或目录指定为“强制附件转储”。用户应该对此区域有写访问权。
  2. 使用更改列表描述字段创建标签来命名应附加的文件。例如,“附加:file_name.jpg”。
  3. 您的用户使用插件在本地导航到文件,插件会将其复制到转储驱动器并将标签添加到描述中。该插件应该强制执行一些命名方案以使文件易于查找。也许将更改列表编号附加到文件基本名称?或者为每个更改列表创建一个文件夹?
  4. 使用服务器端预提交触发器和脚本来扫描提交的更改列表描述中的标签,并从附件转储中检索此文件。如果找不到文件,它可能应该拒​​绝带有标签的更改列表。
  5. 服务器端脚本应将文件移动到对用户只读的共享驱动器。这样,如果您想查看五个月前的变更列表的附件,您可以确定它仍然可用。
  6. 让您的插件能够从 P4 和 P4V 中从开发人员的本地计算机打开只读共享驱动器上的附件。
于 2016-12-09T19:18:57.000 回答