annotate tests/test-import-eol.t @ 41247:a89b20a49c13

rust-cpython: using MissingAncestors from Python code As precedently done with LazyAncestors on cpython.rs, we test for the presence of the 'rustext' module. incrementalmissingrevs() has two callers within the Mercurial core: `setdiscovery.partialdiscovery` and the `only()` revset. This move shows a significant discovery performance improvement in cases where the baseline is slow: using perfdiscovery on the PyPy repos, prepared with `contrib/discovery-helper <repo> 50 100`, we get averaged medians of 403ms with the Rust version vs 742ms without (about 45% better). But there are still indications that performance can be worse in cases the baseline is fast, possibly due to the conversion from Python to Rust and back becoming the bottleneck. We could measure this on mozilla-central in cases were the delta is just a few changesets. This requires confirmation, but if that's the reason, then an upcoming `partialdiscovery` fully in Rust should solve the problem. Differential Revision: https://phab.mercurial-scm.org/D5551
author Georges Racinet <georges.racinet@octobus.net>
date Fri, 30 Nov 2018 14:35:57 +0100
parents 5abc47d4ca6b
children 7295279b9ea5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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')
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
20 > w(b'\ No newline at end of file\n')
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')
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
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
fddacca3202e Merge with stable
Martin Geisler <mg@lazybytes.net>
parents: 11808
diff changeset
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 ..