Mercurial > evolve
comparison tests/test-evolve-content-divergence-meta.t @ 4482:ee7e4e05ce44 stable
evolve: add test which demonstrate issue6113
This patch introducing a new test file which contains the test for issue6113
which is `test-evolve-content-divergent-distributed.t`. This test file
is supposed to contain tests for distributed workflows.
Next patch will fix the bug.
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Wed, 10 Apr 2019 15:26:41 +0200 |
parents | |
children | 7978230faa32 |
comparison
equal
deleted
inserted
replaced
4481:d02a7c8cdee5 | 4482:ee7e4e05ce44 |
---|---|
1 +==================================================== | |
2 +Tests the resolution of content divergence: metadata | |
3 +==================================================== | |
4 | |
5 This file intend to cover cases focused around meta data merging. | |
6 | |
7 Setup | |
8 ----- | |
9 | |
10 $ cat >> $HGRCPATH <<EOF | |
11 > [alias] | |
12 > glog = log -GT "{rev}:{node|short} {desc|firstline}\n {phase} {troubles}\n\n" | |
13 > [phases] | |
14 > publish = False | |
15 > [extensions] | |
16 > rebase = | |
17 > EOF | |
18 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH | |
19 | |
20 Check we preserve the author properly | |
21 ------------------------------------- | |
22 | |
23 Testing issue6113 to make sure that content-divergence resolution don't | |
24 replace initial author with the user running the resolution command: | |
25 | |
26 $ hg init userfoo | |
27 $ cd userfoo | |
28 $ unset HGUSER | |
29 $ echo "[ui]" >> ./.hg/hgrc | |
30 $ echo "username = foo <foo@test.com>" >> ./.hg/hgrc | |
31 $ for ch in a b c; do | |
32 > echo $ch > $ch; | |
33 > hg add $ch; | |
34 > hg ci -m "added "$ch; | |
35 > done; | |
36 | |
37 $ cd .. | |
38 $ hg init userbar | |
39 $ cd userbar | |
40 $ unset HGUSER | |
41 $ echo "[ui]" >> ./.hg/hgrc | |
42 $ echo "username = bar <bar@test.com>" >> ./.hg/hgrc | |
43 $ hg pull ./../userfoo -q | |
44 | |
45 $ cd ../userfoo | |
46 $ hg up -r "desc('added b')" | |
47 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
48 $ echo c > c | |
49 $ echo e > e | |
50 $ hg add c e | |
51 $ hg ci -m "added c e" | |
52 created new head | |
53 | |
54 $ hg up -r "desc('added b')" | |
55 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
56 $ echo cc > c | |
57 $ hg add c | |
58 $ hg ci -m "added c" | |
59 created new head | |
60 | |
61 $ hg prune -r "min(desc('added c'))" -s "desc('added c e')" | |
62 1 changesets pruned | |
63 $ hg prune -r "min(desc('added c'))" -s "max(desc('added c'))" --hidden | |
64 1 changesets pruned | |
65 2 new content-divergent changesets | |
66 | |
67 $ hg glog | |
68 @ 4:6c06cda6dc99 added c | |
69 | draft content-divergent | |
70 | | |
71 | * 3:0c9267e23c9d added c e | |
72 |/ draft content-divergent | |
73 | | |
74 o 1:1740ad2a1eda added b | |
75 | draft | |
76 | | |
77 o 0:f863f39764c4 added a | |
78 draft | |
79 | |
80 | |
81 $ cd ../userbar | |
82 $ hg pull ./../userfoo -q | |
83 2 new content-divergent changesets | |
84 | |
85 $ hg evolve --content-divergent --any | |
86 merge:[3] added c e | |
87 with: [4] added c | |
88 base: [2] added c | |
89 updating to "local" side of the conflict: 0c9267e23c9d | |
90 merging "other" content-divergent changeset '6c06cda6dc99' | |
91 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
92 working directory is now at 7d41fb83d892 | |
93 | |
94 Make sure resultant cset don't replace the initial user with user running the command: | |
95 $ hg log -r tip | |
96 changeset: 5:7d41fb83d892 | |
97 tag: tip | |
98 parent: 1:1740ad2a1eda | |
99 user: bar <bar@test.com> | |
100 date: Thu Jan 01 00:00:00 1970 +0000 | |
101 summary: added c e | |
102 |