Mercurial > hg
annotate tests/test-diff-upgrade.t @ 36426:23d12524a202
http: drop custom http client logic
Eight and a half years ago, as my starter bug on code.google.com, I
investigated a mysterious "broken pipe" error from seemingly random
clients[0]. That investigation revealed a tragic story: the Python
standard library's httplib was (and remains) barely functional. During
large POSTs, if a server responds early with an error (even a
permission denied error!) the client only notices that the server
closed the connection and everything breaks. Such server behavior is
implicitly legal under RFC 2616 (the latest HTTP RFC as of when I was
last working on this), and my understanding is that later RFCs have
made it explicitly legal to respond early with any status code outside
the 2xx range.
I embarked, probably foolishly, on a journey to write a new http
library with better overall behavior. The http library appears to work
well in most cases, but it can get confused in the presence of
proxies, and it depends on select(2) which limits its utility if a lot
of file descriptors are open. I haven't touched the http library in
almost two years, and in the interim the Python community has
discovered a better way[1] of writing network code. In theory some day
urllib3 will have its own home-grown http library built on h11[2], or
we could do that. Either way, it's time to declare our current
confusingly-named "http2" client logic and move on. I do hope to
revisit this some day: it's still garbage that we can't even respond
with a 401 or 403 without reading the entire POST body from the
client, but the goalposts on writing a new http client library have
moved substantially. We're almost certainly better off just switching
to requests and eventually picking up their http fixes than trying to
live with something that realistically only we'll ever use. Another
approach would be to write an adapter so that Mercurial can use pycurl
if it's installed. Neither of those approaches seem like they should
be investigated prior to a release of Mercurial that works on Python
3: that's where the mindshare is going to be for any improvements to
the state of the http client art.
0: http://web.archive.org/web/20130501031801/http://code.google.com/p/support/issues/detail?id=2716
1: http://sans-io.readthedocs.io/
2: https://github.com/njsmith/h11
Differential Revision: https://phab.mercurial-scm.org/D2444
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 25 Feb 2018 23:51:32 -0500 |
parents | 15ddf83fbf84 |
children | 5abc47d4ca6b |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
19875
diff
changeset
|
1 #require execbit |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
2 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
3 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
4 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
5 > autodiff = $TESTDIR/autodiff.py |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
6 > [diff] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
7 > nodates = 1 |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
8 > EOF |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
9 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
10 $ hg init repo |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
11 $ cd repo |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
12 |
12577 | 13 |
14 | |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
15 make a combination of new, changed and deleted file |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
16 |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
17 $ echo regular > regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
18 $ echo rmregular > rmregular |
35579
15ddf83fbf84
py3: use bytes and open() instead of file() in test-diff-upgrade.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
23172
diff
changeset
|
19 $ $PYTHON -c "open('bintoregular', 'wb').write(b'\0')" |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
20 $ touch rmempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
21 $ echo exec > exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
22 $ chmod +x exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
23 $ echo rmexec > rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
24 $ chmod +x rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
25 $ echo setexec > setexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
26 $ echo unsetexec > unsetexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
27 $ chmod +x unsetexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
28 $ echo binary > binary |
35579
15ddf83fbf84
py3: use bytes and open() instead of file() in test-diff-upgrade.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
23172
diff
changeset
|
29 $ $PYTHON -c "open('rmbinary', 'wb').write(b'\0')" |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
30 $ hg ci -Am addfiles |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
31 adding binary |
12577 | 32 adding bintoregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
33 adding exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
34 adding regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
35 adding rmbinary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
36 adding rmempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
37 adding rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
38 adding rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
39 adding setexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
40 adding unsetexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
41 $ echo regular >> regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
42 $ echo newregular >> newregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
43 $ rm rmempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
44 $ touch newempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
45 $ rm rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
46 $ echo exec >> exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
47 $ echo newexec > newexec |
12577 | 48 $ echo bintoregular > bintoregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
49 $ chmod +x newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
50 $ rm rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
51 $ chmod +x setexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
52 $ chmod -x unsetexec |
35579
15ddf83fbf84
py3: use bytes and open() instead of file() in test-diff-upgrade.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
23172
diff
changeset
|
53 $ $PYTHON -c "open('binary', 'wb').write(b'\0\0')" |
15ddf83fbf84
py3: use bytes and open() instead of file() in test-diff-upgrade.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
23172
diff
changeset
|
54 $ $PYTHON -c "open('newbinary', 'wb').write(b'\0')" |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
55 $ rm rmbinary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
56 $ hg addremove -s 0 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
57 adding newbinary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
58 adding newempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
59 adding newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
60 adding newregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
61 removing rmbinary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
62 removing rmempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
63 removing rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
64 removing rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
65 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
66 git=no: regular diff for all files |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
67 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
68 $ hg autodiff --git=no |
12577 | 69 diff -r a66d19b9302d binary |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
70 Binary file binary has changed |
12577 | 71 diff -r a66d19b9302d bintoregular |
72 Binary file bintoregular has changed | |
73 diff -r a66d19b9302d exec | |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
74 --- a/exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
75 +++ b/exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
76 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
77 exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
78 +exec |
12577 | 79 diff -r a66d19b9302d newbinary |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
80 Binary file newbinary has changed |
12577 | 81 diff -r a66d19b9302d newexec |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
82 --- /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
83 +++ b/newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
84 @@ -0,0 +1,1 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
85 +newexec |
12577 | 86 diff -r a66d19b9302d newregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
87 --- /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
88 +++ b/newregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
89 @@ -0,0 +1,1 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
90 +newregular |
12577 | 91 diff -r a66d19b9302d regular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
92 --- a/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
93 +++ b/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
94 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
95 regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
96 +regular |
12577 | 97 diff -r a66d19b9302d rmbinary |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
98 Binary file rmbinary has changed |
12577 | 99 diff -r a66d19b9302d rmexec |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
100 --- a/rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
101 +++ /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
102 @@ -1,1 +0,0 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
103 -rmexec |
12577 | 104 diff -r a66d19b9302d rmregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
105 --- a/rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
106 +++ /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
107 @@ -1,1 +0,0 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
108 -rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
109 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
110 git=yes: git diff for single regular file |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
111 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
112 $ hg autodiff --git=yes regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
113 diff --git a/regular b/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
114 --- a/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
115 +++ b/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
116 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
117 regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
118 +regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
119 |
12577 | 120 git=auto: regular diff for regular files and non-binary removals |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
121 |
12577 | 122 $ hg autodiff --git=auto regular newregular rmregular rmexec |
123 diff -r a66d19b9302d newregular | |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
124 --- /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
125 +++ b/newregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
126 @@ -0,0 +1,1 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
127 +newregular |
12577 | 128 diff -r a66d19b9302d regular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
129 --- a/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
130 +++ b/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
131 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
132 regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
133 +regular |
12577 | 134 diff -r a66d19b9302d rmexec |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
135 --- a/rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
136 +++ /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
137 @@ -1,1 +0,0 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
138 -rmexec |
12577 | 139 diff -r a66d19b9302d rmregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
140 --- a/rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
141 +++ /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
142 @@ -1,1 +0,0 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
143 -rmregular |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
144 |
12577 | 145 $ for f in exec newexec setexec unsetexec binary newbinary newempty rmempty rmbinary bintoregular; do |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
146 > echo |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
147 > echo '% git=auto: git diff for' $f |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
148 > hg autodiff --git=auto $f |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
149 > done |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
150 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
151 % git=auto: git diff for exec |
12577 | 152 diff -r a66d19b9302d exec |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
153 --- a/exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
154 +++ b/exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
155 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
156 exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
157 +exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
158 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
159 % git=auto: git diff for newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
160 diff --git a/newexec b/newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
161 new file mode 100755 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
162 --- /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
163 +++ b/newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
164 @@ -0,0 +1,1 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
165 +newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
166 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
167 % git=auto: git diff for setexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
168 diff --git a/setexec b/setexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
169 old mode 100644 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
170 new mode 100755 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
171 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
172 % git=auto: git diff for unsetexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
173 diff --git a/unsetexec b/unsetexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
174 old mode 100755 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
175 new mode 100644 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
176 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
177 % git=auto: git diff for binary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
178 diff --git a/binary b/binary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
179 index a9128c283485202893f5af379dd9beccb6e79486..09f370e38f498a462e1ca0faa724559b6630c04f |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
180 GIT binary patch |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
181 literal 2 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
182 Jc${Nk0000200961 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
183 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
184 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
185 % git=auto: git diff for newbinary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
186 diff --git a/newbinary b/newbinary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
187 new file mode 100644 |
19875
c172660eee01
patch: Fix nullid for binary git diffs (issue4054)
Johan Bjork <jbjoerk@gmail.com>
parents:
18824
diff
changeset
|
188 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f76dd238ade08917e6712764a16a22005a50573d |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
189 GIT binary patch |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
190 literal 1 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
191 Ic${MZ000310RR91 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
192 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
193 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
194 % git=auto: git diff for newempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
195 diff --git a/newempty b/newempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
196 new file mode 100644 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
197 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
198 % git=auto: git diff for rmempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
199 diff --git a/rmempty b/rmempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
200 deleted file mode 100644 |
12577 | 201 |
202 % git=auto: git diff for rmbinary | |
203 diff --git a/rmbinary b/rmbinary | |
204 deleted file mode 100644 | |
19875
c172660eee01
patch: Fix nullid for binary git diffs (issue4054)
Johan Bjork <jbjoerk@gmail.com>
parents:
18824
diff
changeset
|
205 index f76dd238ade08917e6712764a16a22005a50573d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 |
18824
f0d55e1b4855
diff: fix binary file removals in git mode.
Johan Bjork <jbjoerk@gmail.com>
parents:
15442
diff
changeset
|
206 GIT binary patch |
f0d55e1b4855
diff: fix binary file removals in git mode.
Johan Bjork <jbjoerk@gmail.com>
parents:
15442
diff
changeset
|
207 literal 0 |
f0d55e1b4855
diff: fix binary file removals in git mode.
Johan Bjork <jbjoerk@gmail.com>
parents:
15442
diff
changeset
|
208 Hc$@<O00001 |
f0d55e1b4855
diff: fix binary file removals in git mode.
Johan Bjork <jbjoerk@gmail.com>
parents:
15442
diff
changeset
|
209 |
12577 | 210 |
211 % git=auto: git diff for bintoregular | |
212 diff --git a/bintoregular b/bintoregular | |
213 index f76dd238ade08917e6712764a16a22005a50573d..9c42f2b6427d8bf034b7bc23986152dc01bfd3ab | |
214 GIT binary patch | |
215 literal 13 | |
216 Uc$`bh%qz(+N=+}#Ni5<5043uE82|tP | |
217 | |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
218 |
18824
f0d55e1b4855
diff: fix binary file removals in git mode.
Johan Bjork <jbjoerk@gmail.com>
parents:
15442
diff
changeset
|
219 |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
220 git=warn: regular diff with data loss warnings |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
221 |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
222 $ hg autodiff --git=warn |
12577 | 223 diff -r a66d19b9302d binary |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
224 Binary file binary has changed |
12577 | 225 diff -r a66d19b9302d bintoregular |
226 Binary file bintoregular has changed | |
227 diff -r a66d19b9302d exec | |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
228 --- a/exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
229 +++ b/exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
230 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
231 exec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
232 +exec |
12577 | 233 diff -r a66d19b9302d newbinary |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
234 Binary file newbinary has changed |
12577 | 235 diff -r a66d19b9302d newexec |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
236 --- /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
237 +++ b/newexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
238 @@ -0,0 +1,1 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
239 +newexec |
12577 | 240 diff -r a66d19b9302d newregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
241 --- /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
242 +++ b/newregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
243 @@ -0,0 +1,1 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
244 +newregular |
12577 | 245 diff -r a66d19b9302d regular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
246 --- a/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
247 +++ b/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
248 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
249 regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
250 +regular |
12577 | 251 diff -r a66d19b9302d rmbinary |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
252 Binary file rmbinary has changed |
12577 | 253 diff -r a66d19b9302d rmexec |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
254 --- a/rmexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
255 +++ /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
256 @@ -1,1 +0,0 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
257 -rmexec |
12577 | 258 diff -r a66d19b9302d rmregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
259 --- a/rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
260 +++ /dev/null |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
261 @@ -1,1 +0,0 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
262 -rmregular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
263 data lost for: binary |
12577 | 264 data lost for: bintoregular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
265 data lost for: newbinary |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
266 data lost for: newempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
267 data lost for: newexec |
12577 | 268 data lost for: rmbinary |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
269 data lost for: rmempty |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
270 data lost for: setexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
271 data lost for: unsetexec |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
272 |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
273 git=abort: fail on execute bit change |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
274 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
275 $ hg autodiff --git=abort regular setexec |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
276 abort: losing data for setexec |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12149
diff
changeset
|
277 [255] |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
278 |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
279 git=abort: succeed on regular file |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
280 |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
281 $ hg autodiff --git=abort regular |
12577 | 282 diff -r a66d19b9302d regular |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
283 --- a/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
284 +++ b/regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
285 @@ -1,1 +1,2 @@ |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
286 regular |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
287 +regular |
10189
e451e599fbcf
patch: support diff data loss detection and upgrade
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
288 |
12149
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
289 $ cd .. |
3213e56d63aa
tests: unify test-diff-upgrade
Adrian Buehlmann <adrian@cadifra.com>
parents:
11551
diff
changeset
|
290 |