--- 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 ..