Mercurial > evolve
annotate tests/test-issue-5720.t @ 6889:a66cf9008781
obslog: also display patch for rebased changesets
This applies the same logic that is used for "merge-diff" to rebased
changesets. The successors' content is compared to the content of the
predecessors rebased in-memory on the new parents.
This highlights the changes that were actually introduced while rebasing (like
conflict resolution or API adjustment).
As a side effect, obslog now also outputs slightly more diffs for splits,
showing what parts of the original big changeset were moved to the smaller
split components (but for now it only works for the first few changesets).
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 22 Sep 2024 02:58:54 +0200 |
parents | 61d2f1cf90f0 |
children | 8e4f6354b316 |
rev | line source |
---|---|
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
1 This test file test the #5720 issue |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
2 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
3 Check that `hg evolve --continue` doesn't change changeset phase from secret |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
4 to draft after a merge conflict. |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
5 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
6 https://bz.mercurial-scm.org/show_bug.cgi?id=5720 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
7 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
8 Global setup |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
9 ============ |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
10 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
11 $ . $TESTDIR/testlib/common.sh |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
12 $ cat >> $HGRCPATH <<EOF |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
13 > [ui] |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
14 > interactive = true |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
15 > [phases] |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
16 > publish=False |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
17 > [extensions] |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
18 > evolve = |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
19 > EOF |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
20 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
21 Test |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
22 ==== |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
23 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
24 $ hg init $TESTTMP/issue-5720 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
25 $ cd $TESTTMP/issue-5720 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
26 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
27 Create two drafts commits and one secret |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
28 $ echo a > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
29 $ hg commit -Am a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
30 adding a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
31 $ echo b > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
32 $ hg commit -m b |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
33 $ echo c > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
34 $ hg commit --secret -m c |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
35 $ hg log -G -T "{rev}: {phase}" |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
36 @ 2: secret |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
37 | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
38 o 1: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
39 | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
40 o 0: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
41 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
42 Amend the second draft with new content |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
43 $ hg prev |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
44 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
45 [1] b |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
46 $ echo b2 > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
47 $ hg amend |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
48 1 new orphan changesets |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
49 $ hg log -G -T "{rev}: {phase}" |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
50 @ 3: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
51 | |
3417
d3a17c67f85c
branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
3411
diff
changeset
|
52 | * 2: secret |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
53 | | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
54 | x 1: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
55 |/ |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
56 o 0: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
57 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
58 Evolve which triggers a conflict |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
59 $ hg evolve |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
60 move:[2] c |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
61 atop:[3] b |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
62 merging a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
63 warning: conflicts while merging a! (edit, then use 'hg resolve --mark') |
4676
b6c819facbe8
evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net>
parents:
4577
diff
changeset
|
64 unresolved merge conflicts |
b6c819facbe8
evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net>
parents:
4577
diff
changeset
|
65 (see 'hg help evolve.interrupted') |
5714
b3d9e6c805d6
tests: update with more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
5691
diff
changeset
|
66 [240] |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
67 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
68 Fix the conflict |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
69 $ echo c2 > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
70 $ hg resolve -m |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
71 (no more unresolved files) |
3472
05bd493d496d
evolve: add evolve info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3417
diff
changeset
|
72 continue: hg evolve --continue |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
73 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
74 Continue the evolution |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
75 $ hg evolve --continue |
3386
2a51107e60cf
evolve: add a utility fn to check validity of opts passed to `hg evolve`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3379
diff
changeset
|
76 evolving 2:13833940840c "c" |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
77 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
78 Tip should stay in secret phase |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
79 $ hg log -G -T "{rev}: {phase}" |
4577
bcd52ce0916d
evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents:
3852
diff
changeset
|
80 o 4: secret |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
81 | |
4577
bcd52ce0916d
evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents:
3852
diff
changeset
|
82 @ 3: draft |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
83 | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
84 o 0: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
85 |
4577
bcd52ce0916d
evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents:
3852
diff
changeset
|
86 $ hg log -r tip -T '{phase}\n' |
3388
be41e4740a25
evolve: use phases.new-commit config to retain phase information (issue5720)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3386
diff
changeset
|
87 secret |