log #4

  • //
  • guest/
  • tom_tyler/
  • repro/
  • ResolveModToDeletedFile/
  • log
  • View
  • Commits
  • Open Download .zip Download (5 KB)
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.
# Change User Description Committed
#4 27791 C. Thomas Tyler Added latest log.
#3 26931 C. Thomas Tyler Updated 'p4 init' to add flags: -C0 -n
Updated log with modern p4d version.
#2 18683 C. Thomas Tyler Log run on customer site.
#1 18682 C. Thomas Tyler Added repro script and log.