tests/test-evolve-content-divergent-meta.t
author Anton Shestakov <av6@dwimlabs.net>
Fri, 07 Jun 2019 18:14:48 +0800
branchstable
changeset 4687 313565dd75e3
parent 4636 c0e9a3c01c44
child 4673 3ef4980353af
child 5013 18fe83bf7b14
permissions -rw-r--r--
pick: remove transaction on the whole command (issue6037) At its core, pick is a pretty straightforward and well-behaving command, it uses functions already in core hg, it checks that wdir is clean and that changeset to pick is not public, it checks if there happen to be merge conflicts and can be --continue'd later, etc. It is very similar to graft in core (it also uses mergemod.graft function), but it obsoletes the original changeset. However, graft does not experience this incorrect behavior from issue 6037. What happens in the test case for this issue when we pick a revision that touches both "a" and "b": mergemod.graft() takes the original changeset and tries to apply it to the wdir, which results in "b" being marked as newly added and ready to be committed, "a" updated with the new content and being marked as modified, but "a" also has conflicts. Pick correctly notices this and saves its state before asking for user intervention. So far so good. However, when the command raises InterventionRequired to print a user-facing message and exit while being wrapped in repo.transaction() context manager, the latter partially undoes what mergemod.graft() did: it unmarks "b" as added. And when user continues pick, "b" is therefore not tracked and is not included in the resulting commit. The transaction is not useful here, because it doesn't touch wdir (it's still dirty), it doesn't remove pickstate (and other commands will refuse to work until pick --abort or --continue), it just makes "b" untracked. The solution is to use repo.transaction() only to wrap code that writes data to hg store in the final stages of the command after all checks have passed and is not expected to fail on trivial cases like merge conflicts. For example, committing the picked changeset. But since pick uses repo.commit() for that, and because that function already uses a transaction, wrapping it in another transaction doesn't make sense.
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 ..