Mercurial > evolve
annotate tests/test-evolve-issue5967.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 |
---|---|
4688
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
1 hg evolve --continue and obsmarkers after conflict resolution with no changes to commit (issue5967) |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
2 https://bz.mercurial-scm.org/show_bug.cgi?id=5967 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
3 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
4 $ . $TESTDIR/testlib/common.sh |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
5 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
6 $ hg init issue5967 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
7 $ cd issue5967 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
8 $ cat > .hg/hgrc << EOF |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
9 > [alias] |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
10 > glog = log -GT "{rev}: {desc}" |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
11 > [extensions] |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
12 > evolve= |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
13 > EOF |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
14 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
15 $ echo apple > a |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
16 $ hg ci -qAm 'apple' |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
17 $ echo banana > a |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
18 $ hg ci -m 'banana' |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
19 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
20 Amending revision 0 in a way that causes conflicts |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
21 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
22 $ hg prev |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
23 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
24 [0] apple |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
25 $ echo apricot > a |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
26 $ hg amend -m 'apricot' |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
27 1 new orphan changesets |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
28 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
29 $ hg glog |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
30 @ 2: apricot |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
31 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
32 * 1: banana |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
33 | |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
34 x 0: apple |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
35 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
36 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
37 Trying to evolve, then manually discarding changes from revision 1 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
38 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
39 $ hg evolve |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
40 move:[1] banana |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
41 atop:[2] apricot |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
42 merging a |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
43 warning: conflicts while merging a! (edit, then use 'hg resolve --mark') |
4706
de194ed973ba
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4689
diff
changeset
|
44 unresolved merge conflicts |
de194ed973ba
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4689
diff
changeset
|
45 (see 'hg help evolve.interrupted') |
5714
b3d9e6c805d6
tests: update with more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
5691
diff
changeset
|
46 [240] |
4688
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
47 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
48 $ echo apricot > a |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
49 $ hg resolve --mark a |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
50 (no more unresolved files) |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
51 continue: hg evolve --continue |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
52 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
53 This will correctly notice that revision 1 can be dropped |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
54 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
55 $ hg evolve --continue |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
56 evolving 1:dd9b5dd30cd6 "banana" |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
57 evolution of 1:dd9b5dd30cd6 created no changes to commit |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
58 $ hg glog |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
59 @ 2: apricot |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
60 |
4689
27947b17cfaf
evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents:
4688
diff
changeset
|
61 |
27947b17cfaf
evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents:
4688
diff
changeset
|
62 This is important: 1 should not have a successor (especially not revision 2) |
27947b17cfaf
evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents:
4688
diff
changeset
|
63 |
5275
417503ef667d
tests: add debugobsolete calls before many obslog calls
Martin von Zweigbergk <martinvonz@google.com>
parents:
5175
diff
changeset
|
64 $ hg debugobsolete |
417503ef667d
tests: add debugobsolete calls before many obslog calls
Martin von Zweigbergk <martinvonz@google.com>
parents:
5175
diff
changeset
|
65 3ba7db0ce860a189d1fd1fd7675f0e871652ed16 4d6fec23dcc4c3e4ccce8b1d3b79f62ee927c2be 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'} |
417503ef667d
tests: add debugobsolete calls before many obslog calls
Martin von Zweigbergk <martinvonz@google.com>
parents:
5175
diff
changeset
|
66 dd9b5dd30cd6b703d126d55b34165fd6ec5717c9 0 {3ba7db0ce860a189d1fd1fd7675f0e871652ed16} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'} |
4688
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
67 $ hg olog --all |
4689
27947b17cfaf
evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents:
4688
diff
changeset
|
68 @ 4d6fec23dcc4 (2) apricot |
5301
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5275
diff
changeset
|
69 | rewritten(description, content) from 3ba7db0ce860 using amend by test (Thu Jan 01 00:00:00 1970 +0000) |
4688
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
70 | |
4689
27947b17cfaf
evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents:
4688
diff
changeset
|
71 x 3ba7db0ce860 (0) apple |
4688
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
72 |
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
73 $ hg olog --hidden --all 1 |
5175
307bb57ff2ce
tests: adapt now that Mercurial clears the merge state for empty wdir
Martin von Zweigbergk <martinvonz@google.com>
parents:
5151
diff
changeset
|
74 x dd9b5dd30cd6 (1) banana |
4689
27947b17cfaf
evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents:
4688
diff
changeset
|
75 pruned using evolve by test (Thu Jan 01 00:00:00 1970 +0000) |
4688
75329efe56a9
tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff
changeset
|
76 |