p4 integ过程中无法积分的问题

问题描述 投票:0回答:1

enter image description here 分支A和分支B拥有文件C,然后在分支A上删除C,然后整合到分支B上,然后B上的C也被删除,然后,分支A重新添加文件C,然后再次整合到分支B上但是C文件分支B仍然不存在,仍然被删除。

分支A和分支B拥有文件C,然后删除分支A上的C,然后集成到分支B,然后B上的C也被删除,然后,分支A重新添加文件C,然后再次集成到分支B但是C分支B的文件仍然不存在,仍然被删除。

为什么? 怎么解决?

integer perforce perforce-integrate perforce-stream
1个回答
0
投票

让我们一步一步来:

分支A和分支B拥有文件C,

C:\Perforce\test\rb>p4 files ...
//stream/main/rb/A/C#1 - add change 515 (text)
//stream/main/rb/B/C#1 - branch change 516 (text)

然后删除分支A上的C,然后整合到分支B,

C:\Perforce\test\rb>p4 delete A/...
//stream/main/rb/A/C#1 - opened for delete

C:\Perforce\test\rb>p4 submit -d "delete"
Submitting change 517.
Locking 1 files ...
delete //stream/main/rb/A/C#2
Change 517 submitted.

C:\Perforce\test\rb>p4 integ A/... B/...
//stream/main/rb/B/C#1 - delete from //stream/main/rb/A/C#2

C:\Perforce\test\rb>p4 submit -d "integ delete"
Submitting change 518.
Locking 1 files ...
delete //stream/main/rb/B/C#2
Change 518 submitted.

然后B上的C也被删除了,

C:\Perforce\test\rb>p4 files ...
//stream/main/rb/A/C#2 - delete change 517 (text)
//stream/main/rb/B/C#2 - delete change 518 (text)

然后,分支A重新添加文件C,

C:\Perforce\test\rb>echo asdfasdfasdfasdf > A/C

C:\Perforce\test\rb>p4 add A/...
//stream/main/rb/A/C#2 - opened for add

C:\Perforce\test\rb>p4 submit -d readd
Submitting change 519.
Locking 1 files ...
add //stream/main/rb/A/C#3
Change 519 submitted.

然后再次整合到分支B,但是分支B的C文件仍然不存在,仍然被删除。

嗯,不:

C:\Perforce\test\rb>p4 integ -n A/... B/...
//stream/main/rb/B/C#2 - branch/sync from //stream/main/rb/A/C#3

我认为您在这一步所做的是使用

p4 merge
命令:

C:\Perforce\test\rb>p4 merge A/... B/...
//stream/main/rb/B/C#2 - sync/delete from //stream/main/rb/A/C#3
... must resolve branch from //stream/main/rb/A/C#3

当您

resolve
时,您有两个选择:

C:\Perforce\test\rb>p4 resolve
c:\Perforce\test\rb\B\C - resolving branch from //stream/main/rb/A/C#3
Branch resolve:
at: branch
ay: ignore
Accept(a) Skip(s) Help(?) at:

如果您选择

at
(默认选项),则会打开文件进行分支:

Accept(a) Skip(s) Help(?) at: at
//Samwise-dvcs-1509687817/rb/B/C - branch from //stream/main/rb/A/C

但是根据您的修订图屏幕截图,您选择了

ay
忽略分支:

Accept(a) Skip(s) Help(?) at: ay
//Samwise-dvcs-1509687817/rb/B/C - ignored //stream/main/rb/A/C

将文件保留为

delete
以记录您选择不对其进行分支(但希望将分支记录为已被忽略,这需要新的修订):

C:\Perforce\test\rb>p4 opened
//stream/main/rb/B/C#2 - delete default change (text)

C:\Perforce\test\rb>p4 resolved
c:\Perforce\test\rb\B\C - ignored //stream/main/rb/A/C#3
c:\Perforce\test\rb\B\C - resolved branch from //stream/main/rb/A/C#3

如果你想分支文件,那么当解析询问“

branch
ignore
”时,你需要选择
branch
,而不是
ignore

© www.soinside.com 2019 - 2024. All rights reserved.