我们有一些仓库结构和主线流(调用
MainlineStream
)
Root
- Folder1
- Folder2
- Folder3
- Folder4
A
FeatureStream
继承自 MainlineStream
并且只想对 Folder1
进行操作
import MainlineStream ...
share Folder1
我想要另一个流
MyFeatureStream
想要在 FeatureStream
中进行所有更改,但我也想要 share
,比如说 Folder2
并传播我的 Folder1
和 Folder2
更改回 MainlineStream
时FeatureStream
已完全完成,不再需要(“复制”到 MainlineStream
)
我不想要求
FeatureStream
的所有者为我扩展映射视图,因为我可能需要在开发过程中进一步扩展它
如何实现这样的解决方案?
有两种策略,您选择哪种策略取决于您对这种情况的设想:
当FeatureStream完全完成时,将我的Folder1和Folder2更改传播回MainlineStream
Folder2
更改如何从MyFeatureStream
传播回MainlineStream
?
FeatureStream
,然后从那里传播到MainlineStream
?MyFeatureStream
传播到 MainlineStream
?如果所有内容都需要在进入
FeatureStream
之前集成到 MainlineStream
中,那么 FeatureStream
需要 包含 share Folder2/...
路径,因为 FeatureStream
的部分目的是合并MyFeatureStream
改变。
如果想法是
Folder2
更改将绕过FeatureStream
并直接进入MainlineStream
,那么我认为MyFeatureStream
成为MainlineStream
的直接子代更有意义,并且做兄弟合并以获得 Folder1
更改。这应该像这样做一样简单:
p4 merge --from FeatureStream
在
MyFeatureStream
内,使用 --from
标志表示您想要合并来自指定流而不是父级(这将是 MainlineStream
)的更改。由于 FeatureStream
仅对 Folder1
路径进行更改,因此无需显式指定路径。
显然您还需要定期执行以下操作:
p4 merge
将
MainlineStream
的更改合并到 MyFeatureStream
的所有 share
路径中(因此 Folder1
和 Folder2
都可能会更新)。