Perforce流:任务流使用

时间:2018-02-11 01:21:43

标签: perforce perforce-stream

我需要创建一个子流,它只会从 SELECT SUM(diff) FROM ( SELECT vehicle_id, MAX(distance) - MIN(distance) AS diff FROM `updates` GROUP BY vehicle_id ) AS src (父)流中选择特定的文件夹。在创建子流时,为了实现这一点,我使用mainline成功地创建了只有我感兴趣的代码的子流来限制视图。

但是,我已经阅读了一些有关流的教程,并在轻量级流(任务流)上找到了一些内容,用于从父级部分创建流。在我的场景中,我是否需要真正使用此share/isolate/import?主要优势是什么?如上所述,使用这种轻量级流量而不是使用常规方法的限制?

1 个答案:

答案 0 :(得分:1)

任务流的目的不是“部分”创建流 - 您已经使用share/import路径完成了此操作。不要修复没有损坏的东西!

一旦相关任务完成(通过“卸载”命令),任务流构建为短暂且易于存档。任务流的限制在此处的文档中描述:

https://www.perforce.com/perforce/doc.current/manuals/p4v/Content/P4V/streams.task.html

即他们不能被重新定义,他们可能没有孩子。如果您将任务流用作短期单任务流(正如名称“任务流”所暗示的那样,任务流用于单个任务),这些限制通常不会成为问题。如果您尝试将任务流用作开发主线,那么您将遇到问题。

如果您的开发过程涉及为短期任务创建一个新分支(例如,某个特定分支的个别修补程序),并且您有很多这些任务,那么任务流可能很有用,因为它们易于清理,低开销(当卸载任务流时,它会从数据库中删除,这意味着在创建和放弃数据库时,不会随着时间的推移积累数据库错误。)

如果这听起来不像您的开发过程,请忘记您曾听说过任务流。不要试图想象您可以将任务流用于非短期任务的方法。锤子适合钉子。不要用它们来试图驱动螺丝,特别是当你有一把非常好的螺丝刀就在那里并且已经成功使用它。

(你能不能说我看过很多人试图将任务流用于绝对一切,因为它们“听起来很酷”?抵制冲动!)