这不是一个简单的问题,所以我会尽力用一个简化的例子来解释它......
我们有 2 个分支(可能更多):main
和dev
. 开发是在 中完成的dev
,它有多个 CL。有时,我们会完全集成dev
到main
:我们将所做的所有更改都dev
放入main
一个完整集成的CL 中。
dev main
│ │
W ├─────►│ A full integrate W
│ │
X ├─────►│ B full integrate X
│ │
Y │ │
│ │
Z ├─────►│ C full integrate Y and Z
│ │
现在,我想知道我是否Y
参加main
了特定的 CL。例如:
- 我有
Y
没有main@A
:没有 - 我有
Y
没有main@B
:没有 - 我有吗
Y
:main@C
是的
我想要一个能给我这个结果的命令行。到目前为止,我正在使用:
p4 integrate -n "//dev/...@Y,@Y" //main/...
因为它试图融入Y
并main
告诉是否应该做某事。如果没有,我们已经有了改变,没有什么可做的。
问题是,使用此命令,一旦Y
集成到main
中,它总是会说它在这里,因为我们无法为目标分支提供 CL main
...