P4变更列表中的文件附件

时间:2016-12-09 18:42:29

标签: perforce attachment changelist

我正在寻找一种在Perforce变更列表中嵌入文件附件(如屏幕截图)的方法。我希望(但不乐观)认为P4内部可以通过插件实现这一目标。

如果没有,我或者要么自己编写一个插件(任何指针?),或者我必须为P4签名做一个包装器,它也会上传/提交附件,然后将附件链接到CL通过CL内的标识符。 (然后我需要一个工具来关联和显示两者)。

添加更多信息:我通过我正在编写的P4API机器人与P4服务器连接。机器人抓取每个签到并收集它获得的数据以生成报告。即它将提交与通知任务的实际功能规范相关联,生成该任务的进度历史记录等。在该上下文中,将附加元数据附加到CL(如屏幕截图)非常有用,因为这些附件可以在数据挖掘 - 它们可以增强我生成的报告。 我可以通过一个包装器程序来防范糟糕/猖獗的元数据附件,无论如何它都用于制作我们所有P4提交的95%(它有自己的对话框)。但是当P4 CL规范似乎只有文本可用时,我必须弄清楚如何在P4内部显示所有数据。

1 个答案:

答案 0 :(得分:1)

我认为没有任何(简单)方法可以满足您的要求。 changelist是“原子变更交易”。它们的元数据非常少。 P4 command reference for p4 change列出了您允许执行的所有操作,并且不会添加任意附件。

您始终可以在Perforce forums

中打开功能请求

响应编辑

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

全面的数据库解决方案允许您以更加有组织的方式将附件,更改列表和其他数据彼此关联以及与其他项目资源相关联。

原始回复

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

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