diff -r 5b5cfb9b0a0b -r 18fe83bf7b14 tests/test-evolve-content-divergent-meta.t --- a/tests/test-evolve-content-divergent-meta.t Thu Dec 12 17:22:18 2019 +0530 +++ b/tests/test-evolve-content-divergent-meta.t Fri Dec 13 01:29:27 2019 +0530 @@ -14,6 +14,7 @@ > publish = False > [extensions] > rebase = + > strip = > EOF $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH @@ -157,3 +158,213 @@ user: baruser, foouser $ cd .. + +Test the content-divergence resolution involving date update +------------------------------------------------------------ + + $ hg init divergingdate + $ cd divergingdate + $ unset HGUSER + $ echo "[ui]" >> ./.hg/hgrc + $ echo "username = test" >> ./.hg/hgrc + + $ echo hi > r0 + $ hg ci -qAm 'add r0' + $ echo hi > foo.txt + $ hg ci -qAm 'add foo.txt' + $ hg metaedit -r . -d '0 2' + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + +date: updated on both side to the same value + + $ echo hi > bar.txt + $ hg add -q bar.txt + $ hg amend -q + $ hg metaedit -r 1 -d '0 1' --hidden + 2 new content-divergent changesets + $ hg log -G + * changeset: 4:c17bf400a278 + | tag: tip + | parent: 0:a24ed8ad918c + | user: test + | date: Wed Dec 31 23:59:59 1969 -0000 + | instability: content-divergent + | summary: add foo.txt + | + | @ changeset: 3:a25dd7af6cf6 + |/ parent: 0:a24ed8ad918c + | user: test + | date: Wed Dec 31 23:59:58 1969 -0000 + | instability: content-divergent + | summary: add foo.txt + | + o changeset: 0:a24ed8ad918c + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add r0 + + $ hg evolve --list --rev . + a25dd7af6cf6: add foo.txt + content-divergent: c17bf400a278 (draft) (precursor cc71ffbc7c00) + + $ hg log --hidden -r cc71ffbc7c00 -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 1 cc71ffbc7c00 1970-01-01 00:00 +0000: date-changed using metaedit as 4:c17bf400a278; date-changed using metaedit as 2:0065551bd38f + $ hg log -r 'desc("add foo.txt")' -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 3 a25dd7af6cf6 1969-12-31 23:59 -0000: + 4 c17bf400a278 1969-12-31 23:59 -0000: + $ hg evolve --content-divergent + merge:[3] add foo.txt + with: [4] add foo.txt + base: [1] add foo.txt + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + working directory is now at 6c144bb30333 + $ hg log -r 'desc("add foo.txt")' -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 5 6c144bb30333 1969-12-31 23:59 -0000: + +date: updated one one side to an older value + + $ hg strip . + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + saved backup bundle to $TESTTMP/divergingdate/.hg/strip-backup/6c144bb30333-72e26b88-backup.hg + 2 new content-divergent changesets + $ hg up tip + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg amend --date "0 3" + $ hg log -G + @ changeset: 5:6189a9adfff0 + | tag: tip + | parent: 0:a24ed8ad918c + | user: test + | date: Wed Dec 31 23:59:57 1969 -0000 + | instability: content-divergent + | summary: add foo.txt + | + | * changeset: 3:a25dd7af6cf6 + |/ parent: 0:a24ed8ad918c + | user: test + | date: Wed Dec 31 23:59:58 1969 -0000 + | instability: content-divergent + | summary: add foo.txt + | + o changeset: 0:a24ed8ad918c + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add r0 + + $ hg evolve --list -r . + 6189a9adfff0: add foo.txt + content-divergent: a25dd7af6cf6 (draft) (precursor cc71ffbc7c00) + + $ hg log -r cc71ffbc7c00+6189a9adfff0+a25dd7af6cf6 --hidden -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 1 cc71ffbc7c00 1970-01-01 00:00 +0000: date-changed using metaedit as 4:c17bf400a278; date-changed using metaedit as 2:0065551bd38f + 5 6189a9adfff0 1969-12-31 23:59 -0000: + 3 a25dd7af6cf6 1969-12-31 23:59 -0000: + $ hg evolve --content-divergent + merge:[3] add foo.txt + with: [5] add foo.txt + base: [1] add foo.txt + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + working directory is now at 806d0024c04d + $ hg log -r . --hidden -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 6 806d0024c04d 1969-12-31 23:59 -0000: + +date: updated one side to an newer value + + $ hg strip . + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + saved backup bundle to $TESTTMP/divergingdate/.hg/strip-backup/806d0024c04d-24cb28ad-backup.hg + 2 new content-divergent changesets + $ hg update a25dd7af6cf6 --hidden + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg amend --date "120 0" + $ hg log -G + @ changeset: 6:5199d0bc13d4 + | tag: tip + | parent: 0:a24ed8ad918c + | user: test + | date: Thu Jan 01 00:02:00 1970 +0000 + | instability: content-divergent + | summary: add foo.txt + | + | * changeset: 5:6189a9adfff0 + |/ parent: 0:a24ed8ad918c + | user: test + | date: Wed Dec 31 23:59:57 1969 -0000 + | instability: content-divergent + | summary: add foo.txt + | + o changeset: 0:a24ed8ad918c + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add r0 + + $ hg evolve --list -r . + 5199d0bc13d4: add foo.txt + content-divergent: 6189a9adfff0 (draft) (precursor cc71ffbc7c00) + + $ hg up 6189a9adfff0 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg log -r cc71ffbc7c00+6189a9adfff0+5199d0bc13d4 --hidden -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 1 cc71ffbc7c00 1970-01-01 00:00 +0000: date-changed using metaedit as 4:c17bf400a278; date-changed using metaedit as 2:0065551bd38f + 5 6189a9adfff0 1969-12-31 23:59 -0000: + 6 5199d0bc13d4 1970-01-01 00:02 +0000: + $ hg evolve --content-divergent + merge:[5] add foo.txt + with: [6] add foo.txt + base: [1] add foo.txt + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + working directory is now at 51e08ac59670 + $ hg log -r . --hidden -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 7 51e08ac59670 1970-01-01 00:02 +0000: + +date: updated each side to a different value, newer should win + + $ hg strip . + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + saved backup bundle to $TESTTMP/divergingdate/.hg/strip-backup/51e08ac59670-d8a3c2ca-backup.hg + 2 new content-divergent changesets + $ hg up tip + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg amend --date "235 0" + $ hg update 6189a9adfff0 --hidden + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg amend --date "784 0" + $ hg log -G + @ changeset: 8:75254fb3164b + | tag: tip + | parent: 0:a24ed8ad918c + | user: test + | date: Thu Jan 01 00:13:04 1970 +0000 + | instability: content-divergent + | summary: add foo.txt + | + | * changeset: 7:5421a7efcc6e + |/ parent: 0:a24ed8ad918c + | user: test + | date: Thu Jan 01 00:03:55 1970 +0000 + | instability: content-divergent + | summary: add foo.txt + | + o changeset: 0:a24ed8ad918c + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add r0 + + $ hg evolve --list -r . + 75254fb3164b: add foo.txt + content-divergent: 5421a7efcc6e (draft) (precursor cc71ffbc7c00) + + $ hg log -r 6189a9adfff0+5421a7efcc6e+75254fb3164b --hidden -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 5 6189a9adfff0 1969-12-31 23:59 -0000: date-changed using amend as 8:75254fb3164b + 7 5421a7efcc6e 1970-01-01 00:03 +0000: + 8 75254fb3164b 1970-01-01 00:13 +0000: + $ hg evolve --content-divergent + merge:[7] add foo.txt + with: [8] add foo.txt + base: [1] add foo.txt + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + working directory is now at ab7c0a425dc9 + $ hg log -r . --hidden -T '{rev} {node|short} {date|isodate}: {join(obsfate, "; ")}\n' + 9 ab7c0a425dc9 1970-01-01 00:13 +0000: + + $ cd ..