Mercurial > hg
annotate tests/test-histedit-merge-tools.t @ 47331:0252600fd1cf
dirstate-tree: Downgrade `&mut Node` to `&Node` in status and serialization
Mutable access is not used, and upcoming changes will make it more costly
(with copy-on-write nodes that can be read from disk representation)
Differential Revision: https://phab.mercurial-scm.org/D10745
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Wed, 19 May 2021 13:15:00 +0200 |
parents | 527ce85c2e60 |
children |
rev | line source |
---|---|
42052
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
1 Test histedit extension: Merge tools |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
2 ==================================== |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
3 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
4 Initialization |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
5 --------------- |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
6 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
7 $ . "$TESTDIR/histedit-helpers.sh" |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
8 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
9 $ cat >> $HGRCPATH <<EOF |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
10 > [alias] |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
11 > logt = log --template '{rev}:{node|short} {desc|firstline}\n' |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
12 > [extensions] |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
13 > histedit= |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
14 > mockmakedate = $TESTDIR/mockmakedate.py |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
15 > EOF |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
16 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
17 Merge conflict |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
18 -------------- |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
19 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
20 $ hg init r |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
21 $ cd r |
45768
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
22 $ cat >> .hg/hgrc <<EOF |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
23 > [command-templates] |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
24 > pre-merge-tool-output='pre-merge message for {node}\n' |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
25 > EOF |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
26 |
42052
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
27 $ echo foo > file |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
28 $ hg add file |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
29 $ hg ci -m "First" -d "1 0" |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
30 $ echo bar > file |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
31 $ hg ci -m "Second" -d "2 0" |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
32 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
33 $ hg logt --graph |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
34 @ 1:2aa920f62fb9 Second |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
35 | |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
36 o 0:7181f42b8fca First |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
37 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
38 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
39 Invert the order of the commits, but fail the merge. |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
40 $ hg histedit --config ui.merge=false --commands - 2>&1 <<EOF | fixbundle |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
41 > pick 2aa920f62fb9 Second |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
42 > pick 7181f42b8fca First |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
43 > EOF |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
44 merging file |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
45 pre-merge message for b90fa2e91a6d11013945a5f684be45b84a8ca6ec |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
46 merging file failed! |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
47 Fix up the change (pick 7181f42b8fca) |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
48 (hg histedit --continue to resume) |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
49 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
50 $ hg histedit --abort | fixbundle |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
51 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
52 |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
53 Invert the order of the commits, and pretend the merge succeeded. |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
54 $ hg histedit --config ui.merge=true --commands - 2>&1 <<EOF | fixbundle |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
55 > pick 2aa920f62fb9 Second |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
56 > pick 7181f42b8fca First |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
57 > EOF |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
58 merging file |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
59 pre-merge message for b90fa2e91a6d11013945a5f684be45b84a8ca6ec |
15d2afa31e57
histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
60 7181f42b8fca: skipping changeset (no changes) |
45768
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
61 $ hg histedit --abort |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
62 abort: no histedit in progress |
45840
527ce85c2e60
errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents:
45768
diff
changeset
|
63 [20] |
45768
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
64 $ cd .. |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
65 |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
66 Test legacy config name |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
67 |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
68 $ hg init r2 |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
69 $ cd r2 |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
70 $ echo foo > file |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
71 $ hg add file |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
72 $ hg ci -m "First" |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
73 $ echo bar > file |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
74 $ hg ci -m "Second" |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
75 $ echo conflict > file |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
76 $ hg co -m 0 --config ui.merge=false \ |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
77 > --config ui.pre-merge-tool-output-template='legacy config: {node}\n' |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
78 merging file |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
79 legacy config: 889c9c4d58bd4ce74815efd04a01e0f2bf6765a7 |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
80 merging file failed! |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
81 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
82 use 'hg resolve' to retry unresolved file merges |
5effb1992c17
config: move ui.pre-merge-tool-output-template into [command-templates]
Martin von Zweigbergk <martinvonz@google.com>
parents:
42052
diff
changeset
|
83 [1] |