Mercurial > hg
annotate tests/test-resolve.t @ 31975:76169296e52f
obsolescence: add test for the "branch replacement" logic during push, case A2
Mercurial checks for the introduction of new heads on push. Evolution comes
into play to detect if existing branches on the server are being replaced by
some of the new one we push.
The current code for this logic is very basic (eg: issue4354) and was poorly
tested. We have a better implementation coming in the evolve extension fixing
these issues and with more serious tests coverage. In the process of upstreaming
this improved logic, we start with adding the test case that are already passing
with the current implementation. Once they are all in, we'll upstream the better
implementation and the extra test case.
See inline documentation for details about the test case added in this
changeset.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 13 Apr 2017 16:23:01 +0200 |
parents | 940c05b25b07 |
children | 46ba2cdda476 |
rev | line source |
---|---|
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
1 test that a commit clears the merge state. |
7734 | 2 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
3 $ hg init repo |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
4 $ cd repo |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
5 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
6 $ echo foo > file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
7 $ echo foo > file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
8 $ hg commit -Am 'add files' |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
9 adding file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
10 adding file2 |
7734 | 11 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
12 $ echo bar >> file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
13 $ echo bar >> file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
14 $ hg commit -Am 'append bar to files' |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
15 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
16 create a second head with conflicting edits |
7734 | 17 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
18 $ hg up -C 0 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
19 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
20 $ echo baz >> file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
21 $ echo baz >> file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
22 $ hg commit -Am 'append baz to files' |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
23 created new head |
7734 | 24 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
25 create a third head with no conflicting edits |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
26 $ hg up -qC 0 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
27 $ echo foo > file3 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
28 $ hg commit -Am 'add non-conflicting file' |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
29 adding file3 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
30 created new head |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
31 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
32 failing merge |
7734 | 33 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
34 $ hg up -qC 2 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
35 $ hg merge --tool=internal:fail 1 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
36 0 files updated, 0 files merged, 0 files removed, 2 files unresolved |
12314
f2daa6ab514a
merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents:
12117
diff
changeset
|
37 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12314
diff
changeset
|
38 [1] |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
39 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
40 resolve -l should contain unresolved entries |
21263
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
41 |
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
42 $ hg resolve -l |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
43 U file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
44 U file2 |
21263
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
45 |
24127
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
46 $ hg resolve -l --no-status |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
47 file1 |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
48 file2 |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
49 |
24125
18af6ebd4001
resolve: silence warning of unknown pats for -l/--list (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
23025
diff
changeset
|
50 resolving an unknown path should emit a warning, but not for -l |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
51 |
21265
232de244ab6f
resolve: print warning when no work performed (issue4208)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21264
diff
changeset
|
52 $ hg resolve -m does-not-exist |
21721
6539c4e9c874
resolve: fix grammar of no matching files message
Matt Mackall <mpm@selenic.com>
parents:
21541
diff
changeset
|
53 arguments do not match paths that need resolving |
24125
18af6ebd4001
resolve: silence warning of unknown pats for -l/--list (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
23025
diff
changeset
|
54 $ hg resolve -l does-not-exist |
21265
232de244ab6f
resolve: print warning when no work performed (issue4208)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21264
diff
changeset
|
55 |
28402
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
56 tell users how they could have used resolve |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
57 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
58 $ mkdir nested |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
59 $ cd nested |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
60 $ hg resolve -m file1 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
61 arguments do not match paths that need resolving |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
62 (try: hg resolve -m path:file1) |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
63 $ hg resolve -m file1 filez |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
64 arguments do not match paths that need resolving |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
65 (try: hg resolve -m path:file1 path:filez) |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
66 $ hg resolve -m path:file1 path:filez |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
67 $ hg resolve -l |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
68 R file1 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
69 U file2 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
70 $ hg resolve -m filez file2 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
71 arguments do not match paths that need resolving |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
72 (try: hg resolve -m path:filez path:file2) |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
73 $ hg resolve -m path:filez path:file2 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
74 (no more unresolved files) |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
75 $ hg resolve -l |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
76 R file1 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
77 R file2 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
78 |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
79 cleanup |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
80 $ hg resolve -u |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
81 $ cd .. |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
82 $ rmdir nested |
7f77e71e5d7e
resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents:
28011
diff
changeset
|
83 |
26784
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
84 don't allow marking or unmarking driver-resolved files |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
85 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
86 $ cat > $TESTTMP/markdriver.py << EOF |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
87 > '''mark and unmark files as driver-resolved''' |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
88 > from mercurial import cmdutil, merge, scmutil |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
89 > cmdtable = {} |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
90 > command = cmdutil.command(cmdtable) |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
91 > @command('markdriver', |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
92 > [('u', 'unmark', None, '')], |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
93 > 'FILE...') |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
94 > def markdriver(ui, repo, *pats, **opts): |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
95 > wlock = repo.wlock() |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
96 > try: |
26997
1791f9aa782f
test-resolve.t: switch to mergestate.read()
Siddharth Agarwal <sid0@fb.com>
parents:
26969
diff
changeset
|
97 > ms = merge.mergestate.read(repo) |
26784
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
98 > m = scmutil.match(repo[None], pats, opts) |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
99 > for f in ms: |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
100 > if not m(f): |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
101 > continue |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
102 > if not opts['unmark']: |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
103 > ms.mark(f, 'd') |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
104 > else: |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
105 > ms.mark(f, 'u') |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
106 > ms.commit() |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
107 > finally: |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
108 > wlock.release() |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
109 > EOF |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
110 $ hg --config extensions.markdriver=$TESTTMP/markdriver.py markdriver file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
111 $ hg resolve --list |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
112 D file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
113 U file2 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
114 $ hg resolve --mark file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
115 not marking file1 as it is driver-resolved |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
116 this should not print out file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
117 $ hg resolve --mark --all |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
118 (no more unresolved files -- run "hg resolve --all" to conclude) |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
119 $ hg resolve --mark 'glob:file*' |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
120 (no more unresolved files -- run "hg resolve --all" to conclude) |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
121 $ hg resolve --list |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
122 D file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
123 R file2 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
124 $ hg resolve --unmark file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
125 not unmarking file1 as it is driver-resolved |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
126 (no more unresolved files -- run "hg resolve --all" to conclude) |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
127 $ hg resolve --unmark --all |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
128 $ hg resolve --list |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
129 D file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
130 U file2 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
131 $ hg --config extensions.markdriver=$TESTTMP/markdriver.py markdriver --unmark file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
132 $ hg resolve --list |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
133 U file1 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
134 U file2 |
c0aab5961876
commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents:
26621
diff
changeset
|
135 |
21263
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
136 resolve the failure |
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
137 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
138 $ echo resolved > file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
139 $ hg resolve -m file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
140 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
141 resolve -l should show resolved file as resolved |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
142 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
143 $ hg resolve -l |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
144 R file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
145 U file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
146 |
24127
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
147 $ hg resolve -l -Tjson |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
148 [ |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
149 { |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
150 "path": "file1", |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
151 "status": "R" |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
152 }, |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
153 { |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
154 "path": "file2", |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
155 "status": "U" |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
156 } |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
157 ] |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
158 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
159 resolve -m without paths should mark all resolved |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
160 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
161 $ hg resolve -m |
21947
b081decd9062
resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21721
diff
changeset
|
162 (no more unresolved files) |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
163 $ hg commit -m 'resolved' |
7734 | 164 |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
165 resolve -l should be empty after commit |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
166 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
167 $ hg resolve -l |
21541
6062593d8b06
resolve: don't abort resolve -l even when no merge is in progress
Siddharth Agarwal <sid0@fb.com>
parents:
21267
diff
changeset
|
168 |
24127
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
169 $ hg resolve -l -Tjson |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
170 [ |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
171 ] |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
172 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
173 resolve --all should abort when no merge in progress |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
174 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
175 $ hg resolve --all |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
176 abort: resolve command not applicable when not merging |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
177 [255] |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
178 |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
179 resolve -m should abort when no merge in progress |
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
180 |
21541
6062593d8b06
resolve: don't abort resolve -l even when no merge is in progress
Siddharth Agarwal <sid0@fb.com>
parents:
21267
diff
changeset
|
181 $ hg resolve -m |
21264
4e932dc5c113
resolve: abort when not applicable (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21263
diff
changeset
|
182 abort: resolve command not applicable when not merging |
4e932dc5c113
resolve: abort when not applicable (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21263
diff
changeset
|
183 [255] |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
184 |
27316
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
185 can not update or merge when there are unresolved conflicts |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
186 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
187 $ hg up -qC 0 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
188 $ echo quux >> file1 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
189 $ hg up 1 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
190 merging file1 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
191 warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
192 1 files updated, 0 files merged, 0 files removed, 1 files unresolved |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
193 use 'hg resolve' to retry unresolved file merges |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
194 [1] |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
195 $ hg up 0 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
196 abort: outstanding merge conflicts |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
197 [255] |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
198 $ hg merge 2 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
199 abort: outstanding merge conflicts |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
200 [255] |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
201 $ hg merge --force 2 |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
202 abort: outstanding merge conflicts |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
203 [255] |
777f668eca70
merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27067
diff
changeset
|
204 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
205 set up conflict-free merge |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
206 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
207 $ hg up -qC 3 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
208 $ hg merge 1 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
209 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
210 (branch merge, don't forget to commit) |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
211 |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
212 resolve --all should do nothing in merge without conflicts |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
213 $ hg resolve --all |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
214 (no more unresolved files) |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
215 |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
216 resolve -m should do nothing in merge without conflicts |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
217 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
218 $ hg resolve -m |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
219 (no more unresolved files) |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
220 |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
221 get back to conflicting state |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
222 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
223 $ hg up -qC 2 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
224 $ hg merge --tool=internal:fail 1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
225 0 files updated, 0 files merged, 0 files removed, 2 files unresolved |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
226 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
227 [1] |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
228 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
229 resolve without arguments should suggest --all |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
230 $ hg resolve |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
231 abort: no files or directories specified |
26352
e635bc9bb7d9
resolve: consistently describe re-merge + unresolved
timeless@mozdev.org
parents:
24127
diff
changeset
|
232 (use --all to re-merge all unresolved files) |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
233 [255] |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
234 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
235 resolve --all should re-merge all unresolved files |
26619
3b213a904b98
test-resolve.t: add some output to show order of operations
Siddharth Agarwal <sid0@fb.com>
parents:
26614
diff
changeset
|
236 $ hg resolve --all |
3b213a904b98
test-resolve.t: add some output to show order of operations
Siddharth Agarwal <sid0@fb.com>
parents:
26614
diff
changeset
|
237 merging file1 |
26621
36383507a6f8
resolve: perform all premerges before performing any file merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
26620
diff
changeset
|
238 merging file2 |
26614
ef1eb6df7071
simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents:
26352
diff
changeset
|
239 warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') |
ef1eb6df7071
simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents:
26352
diff
changeset
|
240 warning: conflicts while merging file2! (edit, then use 'hg resolve --mark') |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
241 [1] |
26620
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
242 $ cat file1.orig |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
243 foo |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
244 baz |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
245 $ cat file2.orig |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
246 foo |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
247 baz |
26939
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
248 |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
249 .orig files should exists where specified |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
250 $ hg resolve --all --verbose --config 'ui.origbackuppath=.hg/origbackups' |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
251 merging file1 |
26969
b54b520a24c2
tests: fix globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
26939
diff
changeset
|
252 creating directory: $TESTTMP/repo/.hg/origbackups (glob) |
26939
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
253 merging file2 |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
254 warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
255 warning: conflicts while merging file2! (edit, then use 'hg resolve --mark') |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
256 [1] |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
257 $ ls .hg/origbackups |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
258 file1.orig |
50d2389a2e49
resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents:
26784
diff
changeset
|
259 file2.orig |
23025
b8dd8432395d
test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents:
23024
diff
changeset
|
260 $ grep '<<<' file1 > /dev/null |
b8dd8432395d
test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents:
23024
diff
changeset
|
261 $ grep '<<<' file2 > /dev/null |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
262 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
263 resolve <file> should re-merge file |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
264 $ echo resolved > file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
265 $ hg resolve -q file1 |
26614
ef1eb6df7071
simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents:
26352
diff
changeset
|
266 warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
267 [1] |
23025
b8dd8432395d
test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents:
23024
diff
changeset
|
268 $ grep '<<<' file1 > /dev/null |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
269 |
26959
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
270 test .orig behavior with resolve |
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
271 |
27067
19b52cde2b84
test-resolve: fix '--tool f' invocation for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
27027
diff
changeset
|
272 $ hg resolve -q file1 --tool "sh -c 'f --dump \"$TESTTMP/repo/file1.orig\"'" |
26959
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
273 $TESTTMP/repo/file1.orig: (glob) |
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
274 >>> |
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
275 foo |
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
276 baz |
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
277 <<< |
ed5f20f9c22e
resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents:
26784
diff
changeset
|
278 |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
279 resolve <file> should do nothing if 'file' was marked resolved |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
280 $ echo resolved > file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
281 $ hg resolve -m file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
282 $ hg resolve -q file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
283 $ cat file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
284 resolved |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
285 |
27027
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
286 insert unsupported advisory merge record |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
287 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
288 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -x |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
289 $ hg debugmergestate |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
290 * version 2 records |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
291 local: 57653b9f834a4493f7240b0681efcb9ae7cab745 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
292 other: dc77451844e37f03f5c559e3b8529b2b48d381d1 |
30062
940c05b25b07
merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents:
28641
diff
changeset
|
293 labels: |
940c05b25b07
merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents:
28641
diff
changeset
|
294 local: working copy |
940c05b25b07
merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents:
28641
diff
changeset
|
295 other: merge rev |
27027
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
296 unrecognized entry: x advisory record |
28011
8abd9f785030
merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents:
27316
diff
changeset
|
297 file extras: file1 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac) |
27027
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
298 file: file1 (record type "F", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
299 local path: file1 (flags "") |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
300 ancestor path: file1 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
301 other path: file1 (node 6f4310b00b9a147241b071a60c28a650827fb03d) |
28011
8abd9f785030
merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents:
27316
diff
changeset
|
302 file extras: file2 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac) |
27027
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
303 file: file2 (record type "F", state "u", hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
304 local path: file2 (flags "") |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
305 ancestor path: file2 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
306 other path: file2 (node 6f4310b00b9a147241b071a60c28a650827fb03d) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
307 $ hg resolve -l |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
308 R file1 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
309 U file2 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
310 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
311 insert unsupported mandatory merge record |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
312 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
313 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -X |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
314 $ hg debugmergestate |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
315 * version 2 records |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
316 local: 57653b9f834a4493f7240b0681efcb9ae7cab745 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
317 other: dc77451844e37f03f5c559e3b8529b2b48d381d1 |
30062
940c05b25b07
merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents:
28641
diff
changeset
|
318 labels: |
940c05b25b07
merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents:
28641
diff
changeset
|
319 local: working copy |
940c05b25b07
merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents:
28641
diff
changeset
|
320 other: merge rev |
28011
8abd9f785030
merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents:
27316
diff
changeset
|
321 file extras: file1 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac) |
27027
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
322 file: file1 (record type "F", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
323 local path: file1 (flags "") |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
324 ancestor path: file1 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
325 other path: file1 (node 6f4310b00b9a147241b071a60c28a650827fb03d) |
28011
8abd9f785030
merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents:
27316
diff
changeset
|
326 file extras: file2 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac) |
27027
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
327 file: file2 (record type "F", state "u", hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
328 local path: file2 (flags "") |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
329 ancestor path: file2 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
330 other path: file2 (node 6f4310b00b9a147241b071a60c28a650827fb03d) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
331 unrecognized entry: X mandatory record |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
332 $ hg resolve -l |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
333 abort: unsupported merge state records: X |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
334 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
335 [255] |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
336 $ hg resolve -ma |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
337 abort: unsupported merge state records: X |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
338 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
339 [255] |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
340 $ hg summary |
28641
4acd5651ffa2
summary: move mergemod before parents to give access to ms
timeless <timeless@mozdev.org>
parents:
28402
diff
changeset
|
341 warning: merge state has unsupported record types: X |
27027
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
342 parent: 2:57653b9f834a |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
343 append baz to files |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
344 parent: 1:dc77451844e3 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
345 append bar to files |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
346 branch: default |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
347 commit: 2 modified, 2 unknown (merge) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
348 update: 2 new changesets (update) |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
349 phases: 5 draft |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
350 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
351 update --clean shouldn't abort on unsupported records |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
352 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
353 $ hg up -qC 1 |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
354 $ hg debugmergestate |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
355 no merge state found |
a01ecbcfaf84
mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
27026
diff
changeset
|
356 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
357 test crashed merge with empty mergestate |
7734 | 358 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
359 $ mkdir .hg/merge |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
360 $ touch .hg/merge/state |
11451
51021f4c80b5
resolve: do not crash on empty mergestate
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
361 |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
362 resolve -l should be empty |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
363 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
364 $ hg resolve -l |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12788
diff
changeset
|
365 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12788
diff
changeset
|
366 $ cd .. |