annotate tests/test-import-eol.t @ 37048:fc5e261915b9

wireproto: require POST for all HTTPv2 requests Wire protocol version 1 transfers argument data via request headers by default. This has historically caused problems because servers institute limits on the length of individual HTTP headers as well as the total size of all request headers. Mercurial servers can advertise the maximum length of an individual header. But there's no guarantee any intermediate HTTP agents will accept headers up to that length. In the existing wire protocol, server operators typically also key off the HTTP request method to implement authentication. For example, GET requests translate to read-only requests and can be allowed. But read-write commands must use POST and require authentication. This has typically worked because the only wire protocol commands that use POST modify the repo (e.g. the "unbundle" command). There is an experimental feature to enable clients to transmit argument data via POST request bodies. This is technically a better and more robust solution. But we can't enable it by default because of servers assuming POST means write access. In version 2 of the wire protocol, the permissions of a request are encoded in the URL. And with it being a new protocol in a new URL space, we're not constrained by backwards compatibility requirements. This commit adopts the technically superior mechanism of using HTTP request bodies to send argument data by requiring POST for all commands. Strictly speaking, it may be possible to send request bodies on GET requests. But my experience is that not all HTTP stacks support this. POST pretty much always works. Using POST for read-only operations does sacrifice some RESTful design purity. But this API cares about practicality, not about being in Roy T. Fielding's REST ivory tower. There's a chance we may relax this restriction in the future. But for now, I want to see how far we can get with a POST only API. Differential Revision: https://phab.mercurial-scm.org/D2837
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 13 Mar 2018 11:57:43 -0700
parents a4d7e51709e5
children 230eb9594150
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
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
2 > f = open('eol.diff', 'wb')
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
3 > w = f.write
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
4 > 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
5 > 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
6 > 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
7 > 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
8 > 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
9 > w(b' a\n')
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
10 > 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
11 > 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
12 > w(b' cc\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' \n')
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
14 > w(b' d\n')
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
15 > w(b'-e\n')
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
16 > 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
17 > 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
18 > 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
19 > EOF
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
20
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
21 $ hg init repo
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
22 $ cd repo
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
23 $ echo '\.diff' > .hgignore
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
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
26 Test different --eol values
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
27
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
28 $ $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
29 $ hg ci -Am adda
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
30 adding .hgignore
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
31 adding a
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
32 $ $PYTHON ../makepatch.py
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
33
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
34
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
35 invalid eol
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
36
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
37 $ hg --config patch.eol='LFCR' import eol.diff
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
38 applying eol.diff
12070
fddacca3202e Merge with stable
Martin Geisler <mg@lazybytes.net>
parents: 11808
diff changeset
39 abort: unsupported line endings type: LFCR
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12070
diff changeset
40 [255]
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
41 $ hg revert -a
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
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
44 force LF
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
45
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
46 $ 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
47 applying eol.diff
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
48 $ cat a
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
49 a
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
50 yyyy
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
51 cc
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
52
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
53 d
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
54 e (no-eol)
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
55 $ hg st
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
56
10102
1720d70cd6d4 patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents: 8817
diff changeset
57
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
58 force CRLF
10102
1720d70cd6d4 patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents: 8817
diff changeset
59
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
60 $ hg up -C 0
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
61 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
62 $ 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
63 applying eol.diff
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
64 $ cat a
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
65 a\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
66 yyyy\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
67 cc\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
68 \r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
69 d\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
70 e (no-eol)
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
71 $ hg st
10102
1720d70cd6d4 patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents: 8817
diff changeset
72
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
73
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
74 auto EOL on LF file
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
75
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
76 $ hg up -C 0
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
77 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
78 $ 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
79 applying eol.diff
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
80 $ cat a
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
81 a
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
82 yyyy
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
83 cc
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
84
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
85 d
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
86 e (no-eol)
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
87 $ hg st
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
88
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
89
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
90 auto EOL on CRLF file
10102
1720d70cd6d4 patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents: 8817
diff changeset
91
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
92 $ $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
93 $ hg commit -m 'switch EOLs in a'
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
94 $ 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
95 applying eol.diff
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
96 $ cat a
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
97 a\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
98 yyyy\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
99 cc\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
100 \r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
101 d\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
102 e (no-eol)
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
103 $ hg st
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
104
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
105
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
106 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
107
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
108 $ $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
109 $ hg add noeol
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
110 $ hg commit -m 'add noeol'
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
111 $ $PYTHON -c 'open("noeol", "wb").write(b"noeol\r\nnoeol\n")'
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
112 $ $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
113 $ hg add neweol
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
114 $ hg diff --git > noeol.diff
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
115 $ hg revert --no-backup noeol neweol
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
116 $ rm neweol
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
117 $ 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
118 applying noeol.diff
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
119 $ cat noeol
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
120 noeol\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
121 noeol
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
122 $ cat neweol
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
123 neweol
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
124 neweol\r (esc)
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
125 $ hg st
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
126
10127
d8214e944b84 patch: fix eolmode=auto with new files
Patrick Mezard <pmezard@gmail.com>
parents: 10102
diff changeset
127
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
128 Test --eol and binary patches
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
129
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
130 $ $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
131 $ hg ci -Am addb
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
132 adding b
36026
a4d7e51709e5 py3: replace file() with open() in test-import-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32940
diff changeset
133 $ $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
134 $ hg diff --git > bin.diff
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
135 $ hg revert --no-backup b
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
136
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
137 binary patch with --eol
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
138
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
139 $ 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
140 applying bin.diff
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
141 $ cat b
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
142 a\x00 (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
143 c\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
144 d (no-eol)
11808
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
145 $ hg st
3f6cf4cb3dca tests: unify test-qimport-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10130
diff changeset
146 $ cd ..