Mercurial > hg
annotate tests/test-resolve.t @ 20275:2123d27ff75d
backout: avoid update on simple case.
Before the changeset the backout process was:
1) go to <target>
2) revert to <target> parent
3) update back to changeset we came from
The two update steps can takes a very long time to move back and forth unrelated
file change between <target> and current working directory.
The new process is just merging current working directory with the parent of
<target> using <target> as ancestor. This give the very same result but skip
the two updates. On big repo with a lot of files and changes that save a lots of
time (x20 for one week window).
The "merge" version (hg backout --merge) is still done with upgrades. We could
imagine using in memory commit to speed it up but this is another fish.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 08 Jan 2014 14:53:46 -0800 |
parents | f2719b387380 |
children | f3e37409ecd3 |
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 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
6 $ echo foo > file |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
7 $ hg commit -Am 'add file' |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
8 adding file |
7734 | 9 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
10 $ echo bar >> file |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
11 $ hg commit -Am 'append bar' |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
12 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
13 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
14 create a second head |
7734 | 15 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
16 $ hg up -C 0 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
17 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
18 $ echo baz >> file |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
19 $ hg commit -Am 'append baz' |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
20 created new head |
7734 | 21 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
22 failing merge |
7734 | 23 |
12788
de793925862e
merge: implement --tool arguments using new ui.forcemerge configurable
Steve Borho <steve@borho.org>
parents:
12316
diff
changeset
|
24 $ hg merge --tool=internal:fail |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
25 0 files updated, 0 files merged, 0 files removed, 1 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
|
26 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
|
27 [1] |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
28 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
29 $ echo resolved > file |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
30 $ hg resolve -m file |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
31 $ hg commit -m 'resolved' |
7734 | 32 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
33 resolve -l, should be empty |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
34 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
35 $ hg resolve -l |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
36 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
37 test crashed merge with empty mergestate |
7734 | 38 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
39 $ mkdir .hg/merge |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
40 $ touch .hg/merge/state |
11451
51021f4c80b5
resolve: do not crash on empty mergestate
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
41 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
42 resolve -l, should be empty |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
43 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
44 $ hg resolve -l |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12788
diff
changeset
|
45 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12788
diff
changeset
|
46 $ cd .. |