Mercurial > hg
annotate tests/test-import-eol.t @ 50400:95acba2c29f6
encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
Apparently the code uses "+=" with a bytes object, which is linear-time, so the
whole encoding is quadratic-time. This patch makes us use a bytearray object,
instead, which has a(n amortized-)constant-time append operation.
The encoding is still not particularly fast, but at least a 10MB file
takes tens of seconds, not many hours to encode.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 06 Mar 2023 11:27:57 +0000 |
parents | 140b542b0e59 |
children |
rev | line source |
---|---|
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
1 $ cat > makepatch.py <<EOF |
37575
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
2 > import sys |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
3 > f = open(sys.argv[2], 'wb') |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
4 > w = f.write |
36026
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
5 > w(b'test message\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
6 > w(b'diff --git a/a b/a\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
7 > w(b'--- a/a\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
8 > w(b'+++ b/a\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
9 > w(b'@@ -1,5 +1,5 @@\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
10 > w(b' a\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
11 > w(b'-bbb\r\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
12 > w(b'+yyyy\r\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
13 > w(b' cc\r\n') |
37575
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
14 > w({'empty:lf': b' \n', |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
15 > 'empty:crlf': b' \r\n', |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
16 > 'empty:stripped-lf': b'\n', |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
17 > 'empty:stripped-crlf': b'\r\n'}[sys.argv[1]]) |
36026
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
18 > w(b' d\n') |
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
19 > w(b'-e\n') |
41707
140b542b0e59
tests: double escape \ in test-import-eol.t and test-mq-eol.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41550
diff
changeset
|
20 > w(b'\\\\ No newline at end of file\n') |
36026
a4d7e51709e5
py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
21 > w(b'+z\r\n') |
41707
140b542b0e59
tests: double escape \ in test-import-eol.t and test-mq-eol.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41550
diff
changeset
|
22 > w(b'\\\\ No newline at end of file\r\n') |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
23 > EOF |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
24 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
25 $ hg init repo |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
26 $ cd repo |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
27 $ echo '\.diff' > .hgignore |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
28 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
29 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
30 Test different --eol values |
8810
ac92775b3b80
Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
31 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
32 $ "$PYTHON" -c 'open("a", "wb").write(b"a\nbbb\ncc\n\nd\ne")' |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
33 $ hg ci -Am adda |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
34 adding .hgignore |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
35 adding a |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
36 $ "$PYTHON" ../makepatch.py empty:lf eol.diff |
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
37 $ "$PYTHON" ../makepatch.py empty:crlf eol-empty-crlf.diff |
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
38 $ "$PYTHON" ../makepatch.py empty:stripped-lf eol-empty-stripped-lf.diff |
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
39 $ "$PYTHON" ../makepatch.py empty:stripped-crlf eol-empty-stripped-crlf.diff |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
40 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
41 invalid eol |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
42 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
43 $ hg --config patch.eol='LFCR' import eol.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
44 applying eol.diff |
12070 | 45 abort: unsupported line endings type: LFCR |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12070
diff
changeset
|
46 [255] |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
47 $ hg revert -a |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
48 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
49 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
50 force LF |
8810
ac92775b3b80
Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
51 |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
52 $ hg --traceback --config patch.eol='LF' import eol.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
53 applying eol.diff |
37575
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
54 $ hg id |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
55 9e4ef7b3d4af tip |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
56 $ cat a |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
57 a |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
58 yyyy |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
59 cc |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
60 |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
61 d |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
62 e (no-eol) |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
63 $ hg st |
8810
ac92775b3b80
Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
64 |
37575
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
65 (test empty-line variants: all of them should generate the same revision) |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
66 |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
67 $ hg up -qC 0 |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
68 $ hg --config patch.eol='LF' import eol-empty-crlf.diff |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
69 applying eol-empty-crlf.diff |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
70 $ hg id |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
71 9e4ef7b3d4af tip |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
72 |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
73 $ hg up -qC 0 |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
74 $ hg --config patch.eol='LF' import eol-empty-stripped-lf.diff |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
75 applying eol-empty-stripped-lf.diff |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
76 $ hg id |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
77 9e4ef7b3d4af tip |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
78 |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
79 $ hg up -qC 0 |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
80 $ hg --config patch.eol='LF' import eol-empty-stripped-crlf.diff |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
81 applying eol-empty-stripped-crlf.diff |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
82 $ hg id |
230eb9594150
diffhelpers: be more tolerant for stripped empty lines of CRLF ending
Yuya Nishihara <yuya@tcha.org>
parents:
36026
diff
changeset
|
83 9e4ef7b3d4af tip |
10102
1720d70cd6d4
patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents:
8817
diff
changeset
|
84 |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
85 force CRLF |
10102
1720d70cd6d4
patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents:
8817
diff
changeset
|
86 |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
87 $ hg up -C 0 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
88 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
89 $ hg --traceback --config patch.eol='CRLF' import eol.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
90 applying eol.diff |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
91 $ cat a |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
92 a\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
93 yyyy\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
94 cc\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
95 \r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
96 d\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
97 e (no-eol) |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
98 $ hg st |
10102
1720d70cd6d4
patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents:
8817
diff
changeset
|
99 |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
100 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
101 auto EOL on LF file |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
102 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
103 $ hg up -C 0 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
104 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
105 $ hg --traceback --config patch.eol='auto' import eol.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
106 applying eol.diff |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
107 $ cat a |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
108 a |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
109 yyyy |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
110 cc |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
111 |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
112 d |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
113 e (no-eol) |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
114 $ hg st |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
115 |
8810
ac92775b3b80
Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
116 |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
117 auto EOL on CRLF file |
10102
1720d70cd6d4
patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents:
8817
diff
changeset
|
118 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
119 $ "$PYTHON" -c 'open("a", "wb").write(b"a\r\nbbb\r\ncc\r\n\r\nd\r\ne")' |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
120 $ hg commit -m 'switch EOLs in a' |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
121 $ hg --traceback --config patch.eol='auto' import eol.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
122 applying eol.diff |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
123 $ cat a |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
124 a\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
125 yyyy\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
126 cc\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
127 \r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
128 d\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
129 e (no-eol) |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
130 $ hg st |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
131 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
132 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
133 auto EOL on new file or source without any EOL |
10102
1720d70cd6d4
patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents:
8817
diff
changeset
|
134 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
135 $ "$PYTHON" -c 'open("noeol", "wb").write(b"noeol")' |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
136 $ hg add noeol |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
137 $ hg commit -m 'add noeol' |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
138 $ "$PYTHON" -c 'open("noeol", "wb").write(b"noeol\r\nnoeol\n")' |
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
139 $ "$PYTHON" -c 'open("neweol", "wb").write(b"neweol\nneweol\r\n")' |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
140 $ hg add neweol |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
141 $ hg diff --git > noeol.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
142 $ hg revert --no-backup noeol neweol |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
143 $ rm neweol |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
144 $ hg --traceback --config patch.eol='auto' import -m noeol noeol.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
145 applying noeol.diff |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
146 $ cat noeol |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
147 noeol\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
148 noeol |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
149 $ cat neweol |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
150 neweol |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
151 neweol\r (esc) |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
152 $ hg st |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
153 |
10127
d8214e944b84
patch: fix eolmode=auto with new files
Patrick Mezard <pmezard@gmail.com>
parents:
10102
diff
changeset
|
154 |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
155 Test --eol and binary patches |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
156 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
157 $ "$PYTHON" -c 'open("b", "wb").write(b"a\x00\nb\r\nd")' |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
158 $ hg ci -Am addb |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
159 adding b |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
37575
diff
changeset
|
160 $ "$PYTHON" -c 'open("b", "wb").write(b"a\x00\nc\r\nd")' |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
161 $ hg diff --git > bin.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
162 $ hg revert --no-backup b |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
163 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
164 binary patch with --eol |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
165 |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
166 $ hg import --config patch.eol='CRLF' -m changeb bin.diff |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
167 applying bin.diff |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
168 $ cat b |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
169 a\x00 (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
170 c\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
171 d (no-eol) |
11808
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
172 $ hg st |
3f6cf4cb3dca
tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10130
diff
changeset
|
173 $ cd .. |