annotate tests/test-conflict.t @ 24545:9e0c67e84896

json: implement {tags} template Tags is pretty easy to implement. Let's start there. The output is slightly different from `hg tags -Tjson`. For reference, the CLI has the following output: [ { "node": "e2049974f9a23176c2addb61d8f5b86e0d620490", "rev": 29880, "tag": "tip", "type": "" }, ... ] Our output has the format: { "node": "0aeb19ea57a6d223bacddda3871cb78f24b06510", "tags": [ { "node": "e2049974f9a23176c2addb61d8f5b86e0d620490", "tag": "tag1", "date": [1427775457.0, 25200] }, ... ] } "rev" is omitted because it isn't a reliable identifier. We shouldn't be exposing them in web APIs and giving the impression it remotely resembles a stable identifier. Perhaps we could one day hide this behind a config option (it might be useful to expose when running servers locally). The "type" of the tag isn't defined because this information isn't yet exposed to the hgweb templater (it could be in a follow-up) and because it is questionable whether different types should be exposed at all. (Should the web interface really be exposing "local" tags?) We use an object for the outer type instead of Array for a few reasons. First, it is extensible. If we ever need to throw more global properties into the output, we can do that without breaking backwards compatibility (property additions should be backwards compatible). Second, uniformity in web APIs is nice. Having everything return objects seems much saner than a mix of array and object. Third, there are security issues with arrays in older browsers. The JSON web services world almost never uses arrays as the main type for this reason. Another possibly controversial part about this patch is how dates are defined. While JSON has a Date type, it is based on the JavaScript Date type, which is widely considered a pile of garbage. It is a non-starter for this reason. Many of Mercurial's built-in date filters drop seconds resolution. So that's a non-starter as well, since we want the API to be lossless where possible. rfc3339date, rfc822date, isodatesec, and date are all lossless. However, they each require the client to perform string parsing on top of JSON decoding. While date parsing libraries are pretty ubiquitous, some languages don't have them out of the box. However, pretty much every programming language can deal with UNIX timestamps (which are just integers or floats). So, we choose to use Mercurial's internal date representation, which in JSON is modeled as float seconds since UNIX epoch and an integer timezone offset from UTC (keep in mind JavaScript/JSON models all "Numbers" as double prevision floating point numbers, so there isn't a difference between ints and floats in JSON).
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 31 Mar 2015 14:52:21 -0700
parents 3d0572ab3b4a
children a4da463df6cf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
1 $ hg init
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
2 $ cat << EOF > a
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
3 > Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
4 > One
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
5 > Two
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
6 > Three
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
7 > Four
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
8 > Five
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
9 > Hop we are done.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
10 > EOF
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
11 $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11797
diff changeset
12 $ hg commit -m ancestor
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
13 $ cat << EOF > a
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
14 > Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
15 > 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
16 > 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
17 > 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
18 > 4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
19 > 5
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
20 > Hop we are done.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
21 > EOF
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11797
diff changeset
22 $ hg commit -m branch1
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
23 $ hg co 0
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
24 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
25 $ cat << EOF > a
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
26 > Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
27 > 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
28 > 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
29 > 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
30 > 6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
31 > 8
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
32 > Hop we are done.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
33 > EOF
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11797
diff changeset
34 $ hg commit -m branch2
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
35 created new head
346
f69a5d2d4fe1 merge3: fix argument order
mpm@selenic.com
parents:
diff changeset
36
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
37 $ hg merge 1
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
38 merging a
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
39 warning: conflicts during merge.
15501
2371f4aea665 merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
40 merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
41 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: 12156
diff changeset
42 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
43 [1]
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
44
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
45 $ hg id
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
46 618808747361+c0c68e4fe667+ tip
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
47
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
48 $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
49 Small Mathematical Series.
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
50 <<<<<<< local: 618808747361 - test: branch2
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
51 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
52 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
53 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
54 6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
55 8
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
56 =======
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
57 1
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
58 2
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
59 3
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
60 4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
61 5
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
62 >>>>>>> other: c0c68e4fe667 - test: branch1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
63 Hop we are done.
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
64
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
65 $ hg status
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
66 M a
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
67 ? a.orig
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
68
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
69 Verify custom conflict markers
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
70
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
71 $ hg up -q --clean .
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
72 $ printf "\n[ui]\nmergemarkertemplate={author} {rev}\n" >> .hg/hgrc
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
73
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
74 $ hg merge 1
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
75 merging a
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
76 warning: conflicts during merge.
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
77 merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
78 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
79 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
80 [1]
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
81
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
82 $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
83 Small Mathematical Series.
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
84 <<<<<<< local: test 2
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
85 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
86 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
87 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
88 6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
89 8
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
90 =======
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
91 1
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
92 2
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
93 3
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
94 4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
95 5
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
96 >>>>>>> other: test 1
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
97 Hop we are done.
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
98
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
99 Verify line splitting of custom conflict marker which causes multiple lines
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
100
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
101 $ hg up -q --clean .
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
102 $ cat >> .hg/hgrc <<EOF
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
103 > [ui]
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
104 > mergemarkertemplate={author} {rev}\nfoo\nbar\nbaz
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
105 > EOF
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
106
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
107 $ hg -q merge 1
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
108 warning: conflicts during merge.
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
109 merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
110 [1]
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
111
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
112 $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
113 Small Mathematical Series.
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
114 <<<<<<< local: test 2
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
115 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
116 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
117 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
118 6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
119 8
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
120 =======
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
121 1
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
122 2
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
123 3
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
124 4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
125 5
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
126 >>>>>>> other: test 1
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
127 Hop we are done.
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
128
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
129 Verify line trimming of custom conflict marker using multi-byte characters
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
130
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
131 $ hg up -q --clean .
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
132 $ python <<EOF
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
133 > fp = open('logfile', 'w')
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
134 > fp.write('12345678901234567890123456789012345678901234567890' +
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
135 > '1234567890') # there are 5 more columns for 80 columns
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
136 >
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
137 > # 2 x 4 = 8 columns, but 3 x 4 = 12 bytes
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
138 > fp.write(u'\u3042\u3044\u3046\u3048'.encode('utf-8'))
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
139 >
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
140 > fp.close()
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
141 > EOF
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
142 $ hg add logfile
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
143 $ hg --encoding utf-8 commit --logfile logfile
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
144
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
145 $ cat >> .hg/hgrc <<EOF
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
146 > [ui]
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
147 > mergemarkertemplate={desc|firstline}
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
148 > EOF
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
149
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
150 $ hg -q --encoding utf-8 merge 1
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
151 warning: conflicts during merge.
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
152 merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
153 [1]
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
154
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
155 $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
156 Small Mathematical Series.
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
157 <<<<<<< local: 123456789012345678901234567890123456789012345678901234567890\xe3\x81\x82... (esc)
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
158 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
159 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
160 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
161 6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
162 8
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
163 =======
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
164 1
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
165 2
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
166 3
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
167 4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
168 5
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
169 >>>>>>> other: branch1
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
170 Hop we are done.
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
171
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
172 Verify basic conflict markers
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
173
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
174 $ hg up -q --clean 2
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
175 $ printf "\n[ui]\nmergemarkers=basic\n" >> .hg/hgrc
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
176
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
177 $ hg merge 1
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
178 merging a
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
179 warning: conflicts during merge.
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
180 merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
181 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
182 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
183 [1]
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
184
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
185 $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
186 Small Mathematical Series.
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
187 <<<<<<< local
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
188 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
189 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
190 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
191 6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
192 8
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
193 =======
21921
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
194 1
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
195 2
ecc1387138ba filemerge: use non-minimal conflict marker regions (BC)
Matt Mackall <mpm@selenic.com>
parents: 21920
diff changeset
196 3
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
197 4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
198 5
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
199 >>>>>>> other
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
200 Hop we are done.
22028
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
201
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
202 internal:merge3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
203
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
204 $ hg up -q --clean .
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
205
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
206 $ hg merge 1 --tool internal:merge3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
207 merging a
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
208 warning: conflicts during merge.
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
209 merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
210 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
211 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
212 [1]
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
213 $ cat a
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
214 Small Mathematical Series.
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
215 <<<<<<< local
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
216 1
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
217 2
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
218 3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
219 6
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
220 8
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
221 ||||||| base
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
222 One
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
223 Two
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
224 Three
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
225 Four
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
226 Five
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
227 =======
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
228 1
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
229 2
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
230 3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
231 4
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
232 5
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
233 >>>>>>> other
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
234 Hop we are done.