Started repro.sh v1.2.0 at Mon May 24 16:24:36 EDT 2021. ReproDir=/tmp/repro Preliminary info: Show versions of p4/p4d on the PATH: Executing command: p4 -V Perforce - The Fast Software Configuration Management System. Copyright 1995-2021 Perforce Software. All rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) Version of OpenSSL Libraries: OpenSSL 1.1.1k 25 Mar 2021 See 'p4 help [ -l ] legal' for additional license information on these licenses and others. Extensions/scripting support built-in. Parallel sync threading built-in. Rev. P4/MACOSX1015X86_64/2021.1/2126753 (2021/05/12). Executing command: p4d -V Perforce - The Fast Software Configuration Management System. Copyright 1995-2021 Perforce Software. All rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) Version of OpenSSL Libraries: OpenSSL 1.1.1k 25 Mar 2021 This product includes software developed by the OpenLDAP Foundation (http://www.openldap.org/) This product includes software developed by Computing Services at Carnegie Mellon University: Cyrus SASL (http://www.cmu.edu/computing/) Version of OpenLDAP Libraries: 2.4.47 Version of Cyrus SASL Libraries: 2.1.27 See 'p4 help [ -l ] legal' for additional license information on these licenses and others. Using no memory manager. Rev. P4D/MACOSX1015X86_64/2021.1/2126753 (2021/05/12). License: none Preliminary setup: Spin up a local repo. Executing command: p4 init -C0 -n Server ttyler-dvcs-1621887876 saved. Executing command: p4 status One.h - reconcile to add //stream/main/One.h#1 Two.h - reconcile to add //stream/main/Two.h#1 Reconcile and submit. //stream/main/One.h#1 - opened for add //stream/main/Two.h#1 - opened for add Submitting change 1. Locking 2 files ... add //stream/main/One.h#1 add //stream/main/Two.h#1 Change 1 submitted. == Release r1 == Stream //stream/r1 saved. Executing command: p4 populate -f -r -S //stream/r1 2 files branched (change 3). Delete Two.h directly in main. //stream/main/Two.h#1 - opened for delete Submitting change 4. Locking 1 files ... delete //stream/main/Two.h#2 Change 4 submitted. == Release r2 == Stream //stream/r2 saved. Executing command: p4 populate -f -r -S //stream/r2 2 files branched (change 6). Reparent flow of change to: r1 --> r2 --> main. Stream //stream/r1 saved. == Bug Fix in r1 == Make changes in r1. r1 Updating One.h and Two.h in r1. Executing command: p4 edit One.h Two.h //stream/r1/One.h#1 - opened for edit //stream/r1/Two.h#1 - opened for edit Submitting ... Submitting change 8. Locking 2 files ... edit //stream/r1/One.h#2 edit //stream/r1/Two.h#2 Change 8 submitted. == Merging r1 to r2 == Executing command: p4 switch r2 Executing command: p4 switch r2 Merging ... Executing command: p4 merge -S r1 //stream/r2/One.h#1 - integrate from //stream/r1/One.h#2 ... must resolve content from //stream/r1/One.h#2 //stream/r2/Two.h#1 - sync/delete from //stream/r1/Two.h#2 ... must resolve branch from //stream/r1/Two.h#2 Resolving with -as ... Executing command: p4 resolve -as /tmp/repro/One.h - merging //stream/r1/One.h#2 Diff chunks: 0 yours + 1 theirs + 0 both + 0 conflicting //ttyler-dvcs-1621887876/One.h - copy from //stream/r1/One.h /tmp/repro/Two.h - resolving branch from //stream/r1/Two.h#2 //ttyler-dvcs-1621887876/Two.h - resolve skipped. Resolving with -n to see if there is more to do ... Executing command: p4 resolve -n /tmp/repro/Two.h - resolving branch from //stream/r1/Two.h#2 Uh oh, the resolve was skipped, leaving it for manual resolution. Resetting to see how it goes with p4d 2021.1 with dm.resolve.ignoredeleted. Executing command: p4 revert //stream/r2/... //stream/r2/Two.h#none - was delete, cleared //stream/r2/One.h#1 - was integrate, reverted Executing command: p4 configure set dm.resolve.ignoredeleted=1 For server 'any', configuration variable 'dm.resolve.ignoredeleted' set to '1' Merging ... Executing command: p4 merge -S r1 //stream/r2/One.h#1 - integrate from //stream/r1/One.h#2 ... must resolve content from //stream/r1/One.h#2 //stream/r2/Two.h#1 - sync/delete from //stream/r1/Two.h#2 ... must resolve branch from //stream/r1/Two.h#2 Resolving with -as ... Executing command: p4 resolve -as /tmp/repro/One.h - merging //stream/r1/One.h#2 Diff chunks: 0 yours + 1 theirs + 0 both + 0 conflicting //ttyler-dvcs-1621887876/One.h - copy from //stream/r1/One.h /tmp/repro/Two.h - resolving branch from //stream/r1/Two.h#2 //ttyler-dvcs-1621887876/Two.h - ignored //stream/r1/Two.h Resolving with -n to see if there is more to do ... Executing command: p4 resolve -n No file(s) to resolve. OK! That looks good! Now let's confirm that things were resolved correctly. Executing command: p4 opened //stream/r2/One.h#1 - integrate default change (text) //stream/r2/Two.h#1 - delete default change (text) Note that Two.h is opened for delte in the target as #1, even though it never exited there.