tests/test-evolve-content-divergent-meta.t
author Kyle Lippincott <spectral@google.com>
Mon, 16 Sep 2019 12:44:38 -0700
changeset 4848 535ab2609e45
parent 4636 c0e9a3c01c44
child 4673 3ef4980353af
child 5013 18fe83bf7b14
permissions -rw-r--r--
cmdstate: introduce a "saver" contextmanager and use it in place of save() Previously, the state was only saved in some paths out of these functions. This can be problematic, if the user ctrl-c's (or `kill -9`'s) the process, or we exit out of `relocate` for anything besides the "expected" reason, we won't record that we were in the middle of an evolve. One of our users has discovered that this leaves hg in a weird state; the user did something like this: ``` $ hg evolve <something goes wrong with the merge tool, hits ctrl-c> <deals with the merge conflicts> $ hg evolve --continue abort: no interrupted evolve to continue $ hg evolve abort: uncommitted changes # Note: commands.status.verbose=True is set. $ hg status M foo # The repository is in an unfinished *update* state. # No unresolved merge conflicts # To continue: hg update ``` The user did an `hg update`, but it didn't actually do anything besides take it out of the unfinished update state (the files were still dirty in the working directory).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4482
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     1
+====================================================
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     2
+Tests the resolution of content divergence: metadata
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     3
+====================================================
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     4
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     5
This file intend to cover cases focused around meta data merging.
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     6
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     7
Setup
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     8
-----
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
     9
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    10
  $ cat >> $HGRCPATH <<EOF
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    11
  > [alias]
4625
a4fde4e3e763 templatekw: add `instabilities` alias for `troubles`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4577
diff changeset
    12
  > glog = log -GT "{rev}:{node|short} {desc|firstline}\n {phase} {instabilities}\n\n"
4482
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    13
  > [phases]
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    14
  > publish = False
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    15
  > [extensions]
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    16
  > rebase =
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    17
  > EOF
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    18
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    19
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    20
Check we preserve the author properly
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    21
-------------------------------------
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    22
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    23
Testing issue6113 to make sure that content-divergence resolution don't
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    24
replace initial author with the user running the resolution command:
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    25
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    26
  $ hg init userfoo
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    27
  $ cd userfoo
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    28
  $ unset HGUSER
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    29
  $ echo "[ui]" >> ./.hg/hgrc
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    30
  $ echo "username = foo <foo@test.com>" >> ./.hg/hgrc
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    31
  $ for ch in a b c; do
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    32
  > echo $ch > $ch;
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    33
  > hg add $ch;
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    34
  > hg ci -m "added "$ch;
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    35
  > done;
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    36
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    37
  $ cd ..
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    38
  $ hg init userbar
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    39
  $ cd userbar
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    40
  $ unset HGUSER
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    41
  $ echo "[ui]" >> ./.hg/hgrc
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    42
  $ echo "username = bar <bar@test.com>" >> ./.hg/hgrc
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    43
  $ hg pull ./../userfoo -q
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    44
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    45
  $ cd ../userfoo
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    46
  $ hg up -r "desc('added b')"
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    47
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    48
  $ echo c > c
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    49
  $ echo e > e
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    50
  $ hg add c e
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    51
  $ hg ci -m "added c e"
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    52
  created new head
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    53
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    54
  $ hg up -r "desc('added b')"
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    55
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    56
  $ echo cc > c
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    57
  $ hg add c
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    58
  $ hg ci -m "added c"
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    59
  created new head
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    60
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    61
  $ hg prune -r "min(desc('added c'))" -s "desc('added c e')"
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    62
  1 changesets pruned
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    63
  $ hg prune -r "min(desc('added c'))" -s "max(desc('added c'))" --hidden
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    64
  1 changesets pruned
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    65
  2 new content-divergent changesets
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    66
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    67
  $ hg glog
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    68
  @  4:6c06cda6dc99 added c
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    69
  |   draft content-divergent
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    70
  |
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    71
  | *  3:0c9267e23c9d added c e
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    72
  |/    draft content-divergent
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    73
  |
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    74
  o  1:1740ad2a1eda added b
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    75
  |   draft
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    76
  |
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    77
  o  0:f863f39764c4 added a
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    78
      draft
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    79
  
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    80
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    81
  $ cd ../userbar
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    82
  $ hg pull ./../userfoo -q
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    83
  2 new content-divergent changesets
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    84
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    85
  $ hg evolve --content-divergent --any
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    86
  merge:[3] added c e
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    87
  with: [4] added c
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    88
  base: [2] added c
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    89
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    90
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    91
Make sure resultant cset don't replace the initial user with user running the command:
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    92
  $ hg log -r tip
4483
7978230faa32 evolve: make sure div resolution don't replace the initial author (issue6113)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4482
diff changeset
    93
  changeset:   5:443bd2972210
4482
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    94
  tag:         tip
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    95
  parent:      1:1740ad2a1eda
4483
7978230faa32 evolve: make sure div resolution don't replace the initial author (issue6113)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4482
diff changeset
    96
  user:        foo <foo@test.com>
4482
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    97
  date:        Thu Jan 01 00:00:00 1970 +0000
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    98
  summary:     added c e
ee7e4e05ce44 evolve: add test which demonstrate issue6113
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
    99
  
4635
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   100
  $ cd ..
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   101
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   102
Testing the three way merge logic for user of content divergent changesets
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   103
--------------------------------------------------------------------------
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   104
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   105
  $ hg init mergeusers
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   106
  $ cd mergeusers
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   107
  $ for ch in a b c; do
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   108
  > touch $ch
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   109
  > hg add $ch
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   110
  > hg ci -m "added "$ch
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   111
  > done;
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   112
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   113
  $ hg amend -m "updated c"
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   114
  $ hg up -r 'desc("added c")' --hidden -q
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   115
  updated to hidden changeset 2b3c31fe982d
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   116
  (hidden revision '2b3c31fe982d' was rewritten as: 464e35020fd0)
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   117
  working directory parent is obsolete! (2b3c31fe982d)
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   118
  $ echo coco > c
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   119
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   120
1) when one user is different wrt base
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   121
--------------------------------------
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   122
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   123
Insert a diverging author name:
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   124
  $ hg amend -u 'foouser'
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   125
  2 new content-divergent changesets
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   126
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   127
Run automatic evolution:
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   128
  $ hg evolve --content-divergent
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   129
  merge:[3] updated c
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   130
  with: [4] added c
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   131
  base: [2] added c
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   132
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   133
  working directory is now at 932d6ceb7672
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   134
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   135
  $ hg log -r tip | grep "^user"
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   136
  user:        foouser
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   137
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   138
  $ hg strip . -q --config extensions.strip=
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   139
  2 new content-divergent changesets
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   140
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   141
2) when both the user are different wrt base
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   142
--------------------------------------------
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   143
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   144
  $ hg up -r 'max(desc("updated c"))'
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   145
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   146
  $ hg amend -u 'baruser'
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   147
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   148
Run automatic evolution:
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   149
  $ hg evolve --content-divergent
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   150
  merge:[4] added c
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   151
  with: [5] updated c
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   152
  base: [2] added c
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   153
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4636
c0e9a3c01c44 evolve: consider using three way merge to get the user for div resolution
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4635
diff changeset
   154
  working directory is now at 202a770d8c1f
4635
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   155
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   156
  $ hg log -r tip | grep "^user"
4636
c0e9a3c01c44 evolve: consider using three way merge to get the user for div resolution
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4635
diff changeset
   157
  user:        baruser, foouser
4635
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   158
ea9ae2d2095a evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4633
diff changeset
   159
  $ cd ..