tests/test-evolve-content-divergent-meta.t
changeset 5013 18fe83bf7b14
parent 4636 c0e9a3c01c44
child 5079 1f92a6aa40d6
--- 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 ..