annotate tests/test-merge-criss-cross.t @ 26750:9f9ec4abe700

cmdutil: make in-memory changes visible to external editor (issue4378) Before this patch, external editor process for the commit log can't view some in-memory changes (especially, of dirstate), because they aren't written out until the end of transaction (or wlock). This causes unexpected output of Mercurial commands spawned from that editor process. To make in-memory changes visible to external editor process, this patch does: - write (or schedule to write) in-memory dirstate changes, and - set HG_PENDING environment variable, if: - a transaction is running, and - there are in-memory changes to be visible "hg diff" spawned from external editor process for "hg qrefresh" shows: - "changes newly imported into the topmost" before 49148d7868df(*) - "all changes recorded in the topmost by refreshing" after this patch (*) 49148d7868df changed steps invoking editor process Even though backward compatibility may be broken, the latter behavior looks reasonable, because "hg diff" spawned from the editor process consistently shows "what changes new revision records" regardless of invocation context. In fact, issue4378 itself should be resolved by 800e090e9c64, which made 'repo.transaction()' write in-memory dirstate changes out explicitly before starting transaction. It also made "hg qrefresh" imply 'dirstate.write()' before external editor invocation in call chain below. - mq.queue.refresh - strip.strip - repair.strip - localrepository.transaction - dirstate.write - localrepository.commit - invoke external editor Though, this patch has '(issue4378)' in own summary line to indicate that issues like issue4378 should be fixed by this. BTW, this patch adds '-m' option to a 'hg ci --amend' execution in 'test-commit-amend.t', to avoid invoking external editor process. In this case, "unsure" states may be changed to "clean" according to timestamp or so on. These changes should be written into pending file, if external editor invocation is required, Then, writing dirstate changes out breaks stability of test, because it shows "transaction abort!/rollback completed" occasionally. Aborting after editor process invocation while commands below may cause similar instability of tests, too (AFAIK, there is no more such one, at this revision) - commit --amend - without --message/--logfile - import - without --message/--logfile, - without --no-commit, - without --bypass, - one of below, and - patch has no description text, or - with --edit - aborting at the 1st patch, which adds or removes file(s) - if it only changes existing files, status is checked only for changed files by 'scmutil.matchfiles()', and transition from "unsure" to "normal" in dirstate doesn't occur (= dirstate isn't changed, and written out) - aborting at the 2nd or later patch implies other pending changes (e.g. changelog), and always causes showing "transaction abort!/rollback completed"
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sat, 17 Oct 2015 01:15:34 +0900
parents 8e6d5b7317e6
children 296d55def9c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
1 Criss cross merging
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
3 $ hg init criss-cross
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
4 $ cd criss-cross
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
5 $ echo '0 base' > f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
6 $ echo '0 base' > f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
7 $ hg ci -Aqm '0 base'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
8
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
9 $ echo '1 first change' > f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
10 $ hg ci -m '1 first change f1'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
11
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
12 $ hg up -qr0
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
13 $ echo '2 first change' > f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
14 $ hg ci -qm '2 first change f2'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
15
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
16 $ hg merge -qr 1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
17 $ hg ci -m '3 merge'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
18
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
19 $ hg up -qr2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
20 $ hg merge -qr1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
21 $ hg ci -qm '4 merge'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
22
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
23 $ echo '5 second change' > f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
24 $ hg ci -m '5 second change f1'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
25
21125
e94e90a4526e context: tell when .ancestor picks one of multiple common ancestors heads
Mads Kiilerich <madski@unity3d.com>
parents: 20636
diff changeset
26 $ hg up -r3
e94e90a4526e context: tell when .ancestor picks one of multiple common ancestors heads
Mads Kiilerich <madski@unity3d.com>
parents: 20636
diff changeset
27 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
28 $ echo '6 second change' > f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
29 $ hg ci -m '6 second change f2'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
30
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
31 $ hg log -G
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
32 @ changeset: 6:3b08d01b0ab5
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
33 | tag: tip
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
34 | parent: 3:cf89f02107e5
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
35 | user: test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
36 | date: Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
37 | summary: 6 second change f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
38 |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
39 | o changeset: 5:adfe50279922
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
40 | | user: test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
41 | | date: Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
42 | | summary: 5 second change f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
43 | |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
44 | o changeset: 4:7d3e55501ae6
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
45 | |\ parent: 2:40663881a6dd
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
46 | | | parent: 1:0f6b37dbe527
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
47 | | | user: test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
48 | | | date: Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
49 | | | summary: 4 merge
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
50 | | |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
51 o---+ changeset: 3:cf89f02107e5
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
52 | | | parent: 2:40663881a6dd
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
53 |/ / parent: 1:0f6b37dbe527
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
54 | | user: test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
55 | | date: Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
56 | | summary: 3 merge
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
57 | |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
58 | o changeset: 2:40663881a6dd
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
59 | | parent: 0:40494bf2444c
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
60 | | user: test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
61 | | date: Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
62 | | summary: 2 first change f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
63 | |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
64 o | changeset: 1:0f6b37dbe527
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
65 |/ user: test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
66 | date: Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
67 | summary: 1 first change f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
68 |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
69 o changeset: 0:40494bf2444c
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
70 user: test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
71 date: Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
72 summary: 0 base
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
73
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
74
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
75 $ hg merge -v --debug --tool internal:dump 5 --config merge.preferancestor='!'
21125
e94e90a4526e context: tell when .ancestor picks one of multiple common ancestors heads
Mads Kiilerich <madski@unity3d.com>
parents: 20636
diff changeset
76 note: using 0f6b37dbe527 as ancestor of 3b08d01b0ab5 and adfe50279922
21126
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
77 alternatively, use --config merge.preferancestor=40663881a6dd
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
78 searching for copies back to rev 3
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
79 resolving manifests
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
80 branchmerge: True, force: False, partial: False
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
81 ancestor: 0f6b37dbe527, local: 3b08d01b0ab5+, remote: adfe50279922
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
82 preserving f2 for resolve of f2
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
83 f1: remote is newer -> g
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
84 getting f1
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
85 f2: versions differ -> m (premerge)
26517
d8463a743d7d filemerge: normalize 'internal:foo' names to ':foo'
Siddharth Agarwal <sid0@fb.com>
parents: 25125
diff changeset
86 picked tool ':dump' for f2 (binary False symlink False)
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
87 merging f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
88 my f2@3b08d01b0ab5+ other f2@adfe50279922 ancestor f2@40494bf2444c
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
89 f2: versions differ -> m (merge)
26611
a5ff66e6d77a filemerge: break overall filemerge into separate premerge and merge steps
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
90 picked tool ':dump' for f2 (binary False symlink False)
a5ff66e6d77a filemerge: break overall filemerge into separate premerge and merge steps
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
91 my f2@3b08d01b0ab5+ other f2@adfe50279922 ancestor f2@40494bf2444c
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
92 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
93 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
94 [1]
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
95
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
96 $ head *
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
97 ==> f1 <==
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
98 5 second change
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
99
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
100 ==> f2 <==
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
101 6 second change
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
102
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
103 ==> f2.base <==
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
104 0 base
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
105
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
106 ==> f2.local <==
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
107 6 second change
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
108
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
109 ==> f2.orig <==
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
110 6 second change
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
111
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
112 ==> f2.other <==
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
113 2 first change
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
114
21126
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
115 $ hg up -qC .
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
116 $ hg merge -v --tool internal:dump 5 --config merge.preferancestor="null 40663881 3b08d"
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
117 note: using 40663881a6dd as ancestor of 3b08d01b0ab5 and adfe50279922
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
118 alternatively, use --config merge.preferancestor=0f6b37dbe527
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
119 resolving manifests
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
120 merging f1
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
121 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
122 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
123 [1]
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
124
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
125 Redo merge with merge.preferancestor="*" to enable bid merge
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
126
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
127 $ rm f*
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
128 $ hg up -qC .
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
129 $ hg merge -v --debug --tool internal:dump 5 --config merge.preferancestor="*"
21171
33737ebc6f39 merge: tell the user when we are using bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21170
diff changeset
130 note: merging 3b08d01b0ab5+ and adfe50279922 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
131
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
132 calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
133 searching for copies back to rev 3
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
134 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
135 branchmerge: True, force: False, partial: False
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
136 ancestor: 0f6b37dbe527, local: 3b08d01b0ab5+, remote: adfe50279922
21269
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
137 f1: remote is newer -> g
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
138 f2: versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
139
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
140 calculating bids for ancestor 40663881a6dd
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
141 searching for copies back to rev 3
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
142 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
143 branchmerge: True, force: False, partial: False
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
144 ancestor: 40663881a6dd, local: 3b08d01b0ab5+, remote: adfe50279922
23638
09be050ca98c merge: let bid merge work on the file->action dict
Martin von Zweigbergk <martinvonz@google.com>
parents: 23482
diff changeset
145 f1: versions differ -> m
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
146 f2: remote unchanged -> k
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
147
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
148 auction for merging merge bids
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
149 f1: picking 'get' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
150 f2: picking 'keep' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
151 end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
152
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
153 f1: remote is newer -> g
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
154 getting f1
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
155 f2: remote unchanged -> k
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
156 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
157 (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
158
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
159 $ head *
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
160 ==> f1 <==
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
161 5 second change
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
162
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
163 ==> f2 <==
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
164 6 second change
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
165
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
166
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
167 The other way around:
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
168
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
169 $ hg up -C -r5
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
170 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
171 $ hg merge -v --debug --config merge.preferancestor="*"
21171
33737ebc6f39 merge: tell the user when we are using bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21170
diff changeset
172 note: merging adfe50279922+ and 3b08d01b0ab5 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
173
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
174 calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
175 searching for copies back to rev 3
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
176 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
177 branchmerge: True, force: False, partial: False
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
178 ancestor: 0f6b37dbe527, local: adfe50279922+, remote: 3b08d01b0ab5
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
179 f1: remote unchanged -> k
21269
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
180 f2: versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
181
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
182 calculating bids for ancestor 40663881a6dd
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
183 searching for copies back to rev 3
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
184 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
185 branchmerge: True, force: False, partial: False
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
186 ancestor: 40663881a6dd, local: adfe50279922+, remote: 3b08d01b0ab5
23638
09be050ca98c merge: let bid merge work on the file->action dict
Martin von Zweigbergk <martinvonz@google.com>
parents: 23482
diff changeset
187 f1: versions differ -> m
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
188 f2: remote is newer -> g
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
189
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
190 auction for merging merge bids
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
191 f1: picking 'keep' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
192 f2: picking 'get' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
193 end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
194
21389
e741972017d9 merge: change priority / ordering of merge actions
Mads Kiilerich <madski@unity3d.com>
parents: 21269
diff changeset
195 f2: remote is newer -> g
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
196 getting f2
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
197 f1: remote unchanged -> k
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
198 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
199 (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
200
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
201 $ head *
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
202 ==> f1 <==
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
203 5 second change
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
204
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
205 ==> f2 <==
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
206 6 second change
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
207
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
208 Verify how the output looks and and how verbose it is:
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
209
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
210 $ hg up -qC
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
211 $ hg merge
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
212 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
213 (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
214
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
215 $ hg up -qC
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
216 $ hg merge -v
21171
33737ebc6f39 merge: tell the user when we are using bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21170
diff changeset
217 note: merging 3b08d01b0ab5+ and adfe50279922 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
218
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
219 calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
220 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
221
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
222 calculating bids for ancestor 40663881a6dd
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
223 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
224
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
225 auction for merging merge bids
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
226 f1: picking 'get' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
227 f2: picking 'keep' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
228 end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
229
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
230 getting f1
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
231 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
232 (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
233
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
234 $ hg up -qC
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
235 $ hg merge -v --debug --config merge.preferancestor="*"
21171
33737ebc6f39 merge: tell the user when we are using bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21170
diff changeset
236 note: merging 3b08d01b0ab5+ and adfe50279922 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
237
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
238 calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
239 searching for copies back to rev 3
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
240 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
241 branchmerge: True, force: False, partial: False
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
242 ancestor: 0f6b37dbe527, local: 3b08d01b0ab5+, remote: adfe50279922
21269
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
243 f1: remote is newer -> g
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
244 f2: versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
245
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
246 calculating bids for ancestor 40663881a6dd
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
247 searching for copies back to rev 3
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
248 resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
249 branchmerge: True, force: False, partial: False
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
250 ancestor: 40663881a6dd, local: 3b08d01b0ab5+, remote: adfe50279922
23638
09be050ca98c merge: let bid merge work on the file->action dict
Martin von Zweigbergk <martinvonz@google.com>
parents: 23482
diff changeset
251 f1: versions differ -> m
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
252 f2: remote unchanged -> k
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
253
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
254 auction for merging merge bids
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
255 f1: picking 'get' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
256 f2: picking 'keep' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
257 end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
258
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
259 f1: remote is newer -> g
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
260 getting f1
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
261 f2: remote unchanged -> k
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
262 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
263 (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
264
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
265 $ cd ..
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
266
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
267 http://stackoverflow.com/questions/9350005/how-do-i-specify-a-merge-base-to-use-in-a-hg-merge/9430810
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
268
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
269 $ hg init ancestor-merging
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
270 $ cd ancestor-merging
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
271 $ echo a > x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
272 $ hg commit -A -m a x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
273 $ hg update -q 0
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
274 $ echo b >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
275 $ hg commit -m b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
276 $ hg update -q 0
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
277 $ echo c >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
278 $ hg commit -qm c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
279 $ hg update -q 1
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
280 $ hg merge -q --tool internal:local 2
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
281 $ echo c >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
282 $ hg commit -m bc
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
283 $ hg update -q 2
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
284 $ hg merge -q --tool internal:local 1
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
285 $ echo b >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
286 $ hg commit -qm cb
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
287
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
288 $ hg merge --config merge.preferancestor='!'
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
289 note: using 70008a2163f6 as ancestor of 0d355fdef312 and 4b8b546a3eef
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
290 alternatively, use --config merge.preferancestor=b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
291 merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
292 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
293 (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
294 $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
295 a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
296 c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
297 b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
298 c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
299
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
300 $ hg up -qC .
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
301
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
302 $ hg merge --config merge.preferancestor=b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
303 note: using b211bbc6eb3c as ancestor of 0d355fdef312 and 4b8b546a3eef
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
304 alternatively, use --config merge.preferancestor=70008a2163f6
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
305 merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
306 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
307 (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
308 $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
309 a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
310 b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
311 c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
312 b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
313
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
314 $ hg up -qC .
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
315
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
316 $ hg merge -v --config merge.preferancestor="*"
21171
33737ebc6f39 merge: tell the user when we are using bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21170
diff changeset
317 note: merging 0d355fdef312+ and 4b8b546a3eef using bids from ancestors 70008a2163f6 and b211bbc6eb3c
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
318
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
319 calculating bids for ancestor 70008a2163f6
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
320 resolving manifests
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
321
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
322 calculating bids for ancestor b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
323 resolving manifests
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
324
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
325 auction for merging merge bids
21172
0f0059af920c merge: improve notes for listing the bids for ambiguous merges
Mads Kiilerich <madski@unity3d.com>
parents: 21171
diff changeset
326 x: multiple bids for merge action:
0f0059af920c merge: improve notes for listing the bids for ambiguous merges
Mads Kiilerich <madski@unity3d.com>
parents: 21171
diff changeset
327 versions differ -> m
0f0059af920c merge: improve notes for listing the bids for ambiguous merges
Mads Kiilerich <madski@unity3d.com>
parents: 21171
diff changeset
328 versions differ -> m
21170
ea3972243320 merge: fix stray character in bid merge message
Mads Kiilerich <madski@unity3d.com>
parents: 21169
diff changeset
329 x: ambiguous merge - picked m action
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
330 end of auction
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
331
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
332 merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
333 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
334 (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
335 $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
336 a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
337 c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
338 b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
339 c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
340
22180
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
341 Verify that the old context ancestor works with / despite preferancestor:
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
342
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
343 $ hg log -r 'ancestor(head())' --config merge.preferancestor=1 -T '{rev}\n'
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
344 1
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
345 $ hg log -r 'ancestor(head())' --config merge.preferancestor=2 -T '{rev}\n'
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
346 2
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
347 $ hg log -r 'ancestor(head())' --config merge.preferancestor=3 -T '{rev}\n'
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
348 1
22671
5220c12c43fd changectx: skip all invalid merge.preferancestor values
Mads Kiilerich <madski@unity3d.com>
parents: 22180
diff changeset
349 $ hg log -r 'ancestor(head())' --config merge.preferancestor='1337 * - 2' -T '{rev}\n'
5220c12c43fd changectx: skip all invalid merge.preferancestor values
Mads Kiilerich <madski@unity3d.com>
parents: 22180
diff changeset
350 2
22180
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
351
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
352 $ cd ..