##// END OF EJS Templates
eol: test win32text compatible encode/decode filters
Martin Geisler -
r13503:5007ff32 stable
parent child Browse files
Show More
@@ -1,400 +1,428 b''
1 Test EOL extension
1 Test EOL extension
2
2
3 $ cat > $HGRCPATH <<EOF
3 $ cat > $HGRCPATH <<EOF
4 > [diff]
4 > [diff]
5 > git = True
5 > git = True
6 > EOF
6 > EOF
7
7
8 Set up helpers
8 Set up helpers
9
9
10 $ cat > switch-eol.py <<EOF
10 $ cat > switch-eol.py <<EOF
11 > import sys
11 > import sys
12 > try:
12 > try:
13 > import os, msvcrt
13 > import os, msvcrt
14 > msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
14 > msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
15 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
15 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
16 > except ImportError:
16 > except ImportError:
17 > pass
17 > pass
18 > (old, new) = sys.argv[1] == 'LF' and ('\n', '\r\n') or ('\r\n', '\n')
18 > (old, new) = sys.argv[1] == 'LF' and ('\n', '\r\n') or ('\r\n', '\n')
19 > print "%% switching encoding from %r to %r" % (old, new)
19 > print "%% switching encoding from %r to %r" % (old, new)
20 > for path in sys.argv[2:]:
20 > for path in sys.argv[2:]:
21 > data = file(path, 'rb').read()
21 > data = file(path, 'rb').read()
22 > data = data.replace(old, new)
22 > data = data.replace(old, new)
23 > file(path, 'wb').write(data)
23 > file(path, 'wb').write(data)
24 > EOF
24 > EOF
25
25
26 $ seteol () {
26 $ seteol () {
27 > if [ $1 = "LF" ]; then
27 > if [ $1 = "LF" ]; then
28 > EOL='\n'
28 > EOL='\n'
29 > else
29 > else
30 > EOL='\r\n'
30 > EOL='\r\n'
31 > fi
31 > fi
32 > }
32 > }
33
33
34 $ makerepo () {
34 $ makerepo () {
35 > seteol $1
35 > seteol $1
36 > echo "% setup $1 repository"
36 > echo "% setup $1 repository"
37 > hg init repo
37 > hg init repo
38 > cd repo
38 > cd repo
39 > cat > .hgeol <<EOF
39 > cat > .hgeol <<EOF
40 > [repository]
40 > [repository]
41 > native = $1
41 > native = $1
42 > [patterns]
42 > [patterns]
43 > mixed.txt = BIN
43 > mixed.txt = BIN
44 > **.txt = native
44 > **.txt = native
45 > EOF
45 > EOF
46 > printf "first${EOL}second${EOL}third${EOL}" > a.txt
46 > printf "first${EOL}second${EOL}third${EOL}" > a.txt
47 > hg commit --addremove -m 'checkin'
47 > hg commit --addremove -m 'checkin'
48 > echo
48 > echo
49 > cd ..
49 > cd ..
50 > }
50 > }
51
51
52 $ dotest () {
52 $ dotest () {
53 > seteol $1
53 > seteol $1
54 > echo "% hg clone repo repo-$1"
54 > echo "% hg clone repo repo-$1"
55 > hg clone --noupdate repo repo-$1
55 > hg clone --noupdate repo repo-$1
56 > cd repo-$1
56 > cd repo-$1
57 > cat > .hg/hgrc <<EOF
57 > cat > .hg/hgrc <<EOF
58 > [extensions]
58 > [extensions]
59 > eol =
59 > eol =
60 > [eol]
60 > [eol]
61 > native = $1
61 > native = $1
62 > EOF
62 > EOF
63 > hg update
63 > hg update
64 > echo '% a.txt'
64 > echo '% a.txt'
65 > cat a.txt
65 > cat a.txt
66 > echo '% hg cat a.txt'
66 > echo '% hg cat a.txt'
67 > hg cat a.txt
67 > hg cat a.txt
68 > printf "fourth${EOL}" >> a.txt
68 > printf "fourth${EOL}" >> a.txt
69 > echo '% a.txt'
69 > echo '% a.txt'
70 > cat a.txt
70 > cat a.txt
71 > hg diff
71 > hg diff
72 > python ../switch-eol.py $1 a.txt
72 > python ../switch-eol.py $1 a.txt
73 > echo '% hg diff only reports a single changed line:'
73 > echo '% hg diff only reports a single changed line:'
74 > hg diff
74 > hg diff
75 > echo "% reverting back to $1 format"
75 > echo "% reverting back to $1 format"
76 > hg revert a.txt
76 > hg revert a.txt
77 > cat a.txt
77 > cat a.txt
78 > printf "first\r\nsecond\n" > mixed.txt
78 > printf "first\r\nsecond\n" > mixed.txt
79 > hg add mixed.txt
79 > hg add mixed.txt
80 > echo "% hg commit of inconsistent .txt file marked as binary (should work)"
80 > echo "% hg commit of inconsistent .txt file marked as binary (should work)"
81 > hg commit -m 'binary file'
81 > hg commit -m 'binary file'
82 > echo "% hg commit of inconsistent .txt file marked as native (should fail)"
82 > echo "% hg commit of inconsistent .txt file marked as native (should fail)"
83 > printf "first\nsecond\r\nthird\nfourth\r\n" > a.txt
83 > printf "first\nsecond\r\nthird\nfourth\r\n" > a.txt
84 > hg commit -m 'inconsistent file'
84 > hg commit -m 'inconsistent file'
85 > echo "% hg commit --config eol.only-consistent=False (should work)"
85 > echo "% hg commit --config eol.only-consistent=False (should work)"
86 > hg commit --config eol.only-consistent=False -m 'inconsistent file'
86 > hg commit --config eol.only-consistent=False -m 'inconsistent file'
87 > echo "% hg commit of binary .txt file marked as native (binary files always okay)"
87 > echo "% hg commit of binary .txt file marked as native (binary files always okay)"
88 > printf "first${EOL}\0${EOL}third${EOL}" > a.txt
88 > printf "first${EOL}\0${EOL}third${EOL}" > a.txt
89 > hg commit -m 'binary file'
89 > hg commit -m 'binary file'
90 > cd ..
90 > cd ..
91 > rm -r repo-$1
91 > rm -r repo-$1
92 > }
92 > }
93
93
94 $ makemixedrepo () {
94 $ makemixedrepo () {
95 > echo
95 > echo
96 > echo "# setup $1 repository"
96 > echo "# setup $1 repository"
97 > hg init mixed
97 > hg init mixed
98 > cd mixed
98 > cd mixed
99 > printf "foo\r\nbar\r\nbaz\r\n" > win.txt
99 > printf "foo\r\nbar\r\nbaz\r\n" > win.txt
100 > printf "foo\nbar\nbaz\n" > unix.txt
100 > printf "foo\nbar\nbaz\n" > unix.txt
101 > #printf "foo\r\nbar\nbaz\r\n" > mixed.txt
101 > #printf "foo\r\nbar\nbaz\r\n" > mixed.txt
102 > hg commit --addremove -m 'created mixed files'
102 > hg commit --addremove -m 'created mixed files'
103 > echo "# setting repository-native EOLs to $1"
103 > echo "# setting repository-native EOLs to $1"
104 > cat > .hgeol <<EOF
104 > cat > .hgeol <<EOF
105 > [repository]
105 > [repository]
106 > native = $1
106 > native = $1
107 > [patterns]
107 > [patterns]
108 > **.txt = native
108 > **.txt = native
109 > EOF
109 > EOF
110 > hg commit --addremove -m 'added .hgeol'
110 > hg commit --addremove -m 'added .hgeol'
111 > cd ..
111 > cd ..
112 > }
112 > }
113
113
114 $ testmixed () {
114 $ testmixed () {
115 > echo
115 > echo
116 > echo "% hg clone mixed mixed-$1"
116 > echo "% hg clone mixed mixed-$1"
117 > hg clone mixed mixed-$1
117 > hg clone mixed mixed-$1
118 > cd mixed-$1
118 > cd mixed-$1
119 > echo '% hg status (eol extension not yet activated)'
119 > echo '% hg status (eol extension not yet activated)'
120 > hg status
120 > hg status
121 > cat > .hg/hgrc <<EOF
121 > cat > .hg/hgrc <<EOF
122 > [extensions]
122 > [extensions]
123 > eol =
123 > eol =
124 > [eol]
124 > [eol]
125 > native = $1
125 > native = $1
126 > EOF
126 > EOF
127 > echo '% hg status (eol activated)'
127 > echo '% hg status (eol activated)'
128 > hg status
128 > hg status
129 > echo '% hg commit'
129 > echo '% hg commit'
130 > hg commit -m 'synchronized EOLs'
130 > hg commit -m 'synchronized EOLs'
131 > echo '% hg status'
131 > echo '% hg status'
132 > hg status
132 > hg status
133 > cd ..
133 > cd ..
134 > rm -r mixed-$1
134 > rm -r mixed-$1
135 > }
135 > }
136
136
137 Basic tests
137 Basic tests
138
138
139 $ makerepo LF
139 $ makerepo LF
140 % setup LF repository
140 % setup LF repository
141 adding .hgeol
141 adding .hgeol
142 adding a.txt
142 adding a.txt
143
143
144 $ dotest LF
144 $ dotest LF
145 % hg clone repo repo-LF
145 % hg clone repo repo-LF
146 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
146 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 % a.txt
147 % a.txt
148 first
148 first
149 second
149 second
150 third
150 third
151 % hg cat a.txt
151 % hg cat a.txt
152 first
152 first
153 second
153 second
154 third
154 third
155 % a.txt
155 % a.txt
156 first
156 first
157 second
157 second
158 third
158 third
159 fourth
159 fourth
160 diff --git a/a.txt b/a.txt
160 diff --git a/a.txt b/a.txt
161 --- a/a.txt
161 --- a/a.txt
162 +++ b/a.txt
162 +++ b/a.txt
163 @@ -1,3 +1,4 @@
163 @@ -1,3 +1,4 @@
164 first
164 first
165 second
165 second
166 third
166 third
167 +fourth
167 +fourth
168 % switching encoding from '\n' to '\r\n'
168 % switching encoding from '\n' to '\r\n'
169 % hg diff only reports a single changed line:
169 % hg diff only reports a single changed line:
170 diff --git a/a.txt b/a.txt
170 diff --git a/a.txt b/a.txt
171 --- a/a.txt
171 --- a/a.txt
172 +++ b/a.txt
172 +++ b/a.txt
173 @@ -1,3 +1,4 @@
173 @@ -1,3 +1,4 @@
174 first
174 first
175 second
175 second
176 third
176 third
177 +fourth
177 +fourth
178 % reverting back to LF format
178 % reverting back to LF format
179 first
179 first
180 second
180 second
181 third
181 third
182 % hg commit of inconsistent .txt file marked as binary (should work)
182 % hg commit of inconsistent .txt file marked as binary (should work)
183 % hg commit of inconsistent .txt file marked as native (should fail)
183 % hg commit of inconsistent .txt file marked as native (should fail)
184 abort: inconsistent newline style in a.txt
184 abort: inconsistent newline style in a.txt
185
185
186 % hg commit --config eol.only-consistent=False (should work)
186 % hg commit --config eol.only-consistent=False (should work)
187 % hg commit of binary .txt file marked as native (binary files always okay)
187 % hg commit of binary .txt file marked as native (binary files always okay)
188 $ dotest CRLF
188 $ dotest CRLF
189 % hg clone repo repo-CRLF
189 % hg clone repo repo-CRLF
190 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
190 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
191 % a.txt
191 % a.txt
192 first\r (esc)
192 first\r (esc)
193 second\r (esc)
193 second\r (esc)
194 third\r (esc)
194 third\r (esc)
195 % hg cat a.txt
195 % hg cat a.txt
196 first
196 first
197 second
197 second
198 third
198 third
199 % a.txt
199 % a.txt
200 first\r (esc)
200 first\r (esc)
201 second\r (esc)
201 second\r (esc)
202 third\r (esc)
202 third\r (esc)
203 fourth\r (esc)
203 fourth\r (esc)
204 diff --git a/a.txt b/a.txt
204 diff --git a/a.txt b/a.txt
205 --- a/a.txt
205 --- a/a.txt
206 +++ b/a.txt
206 +++ b/a.txt
207 @@ -1,3 +1,4 @@
207 @@ -1,3 +1,4 @@
208 first
208 first
209 second
209 second
210 third
210 third
211 +fourth
211 +fourth
212 % switching encoding from '\r\n' to '\n'
212 % switching encoding from '\r\n' to '\n'
213 % hg diff only reports a single changed line:
213 % hg diff only reports a single changed line:
214 diff --git a/a.txt b/a.txt
214 diff --git a/a.txt b/a.txt
215 --- a/a.txt
215 --- a/a.txt
216 +++ b/a.txt
216 +++ b/a.txt
217 @@ -1,3 +1,4 @@
217 @@ -1,3 +1,4 @@
218 first
218 first
219 second
219 second
220 third
220 third
221 +fourth
221 +fourth
222 % reverting back to CRLF format
222 % reverting back to CRLF format
223 first\r (esc)
223 first\r (esc)
224 second\r (esc)
224 second\r (esc)
225 third\r (esc)
225 third\r (esc)
226 % hg commit of inconsistent .txt file marked as binary (should work)
226 % hg commit of inconsistent .txt file marked as binary (should work)
227 % hg commit of inconsistent .txt file marked as native (should fail)
227 % hg commit of inconsistent .txt file marked as native (should fail)
228 abort: inconsistent newline style in a.txt
228 abort: inconsistent newline style in a.txt
229
229
230 % hg commit --config eol.only-consistent=False (should work)
230 % hg commit --config eol.only-consistent=False (should work)
231 % hg commit of binary .txt file marked as native (binary files always okay)
231 % hg commit of binary .txt file marked as native (binary files always okay)
232 $ rm -r repo
232 $ rm -r repo
233 $ makerepo CRLF
233 $ makerepo CRLF
234 % setup CRLF repository
234 % setup CRLF repository
235 adding .hgeol
235 adding .hgeol
236 adding a.txt
236 adding a.txt
237
237
238 $ dotest LF
238 $ dotest LF
239 % hg clone repo repo-LF
239 % hg clone repo repo-LF
240 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
240 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
241 % a.txt
241 % a.txt
242 first
242 first
243 second
243 second
244 third
244 third
245 % hg cat a.txt
245 % hg cat a.txt
246 first\r (esc)
246 first\r (esc)
247 second\r (esc)
247 second\r (esc)
248 third\r (esc)
248 third\r (esc)
249 % a.txt
249 % a.txt
250 first
250 first
251 second
251 second
252 third
252 third
253 fourth
253 fourth
254 diff --git a/a.txt b/a.txt
254 diff --git a/a.txt b/a.txt
255 --- a/a.txt
255 --- a/a.txt
256 +++ b/a.txt
256 +++ b/a.txt
257 @@ -1,3 +1,4 @@
257 @@ -1,3 +1,4 @@
258 first\r (esc)
258 first\r (esc)
259 second\r (esc)
259 second\r (esc)
260 third\r (esc)
260 third\r (esc)
261 +fourth\r (esc)
261 +fourth\r (esc)
262 % switching encoding from '\n' to '\r\n'
262 % switching encoding from '\n' to '\r\n'
263 % hg diff only reports a single changed line:
263 % hg diff only reports a single changed line:
264 diff --git a/a.txt b/a.txt
264 diff --git a/a.txt b/a.txt
265 --- a/a.txt
265 --- a/a.txt
266 +++ b/a.txt
266 +++ b/a.txt
267 @@ -1,3 +1,4 @@
267 @@ -1,3 +1,4 @@
268 first\r (esc)
268 first\r (esc)
269 second\r (esc)
269 second\r (esc)
270 third\r (esc)
270 third\r (esc)
271 +fourth\r (esc)
271 +fourth\r (esc)
272 % reverting back to LF format
272 % reverting back to LF format
273 first
273 first
274 second
274 second
275 third
275 third
276 % hg commit of inconsistent .txt file marked as binary (should work)
276 % hg commit of inconsistent .txt file marked as binary (should work)
277 % hg commit of inconsistent .txt file marked as native (should fail)
277 % hg commit of inconsistent .txt file marked as native (should fail)
278 abort: inconsistent newline style in a.txt
278 abort: inconsistent newline style in a.txt
279
279
280 % hg commit --config eol.only-consistent=False (should work)
280 % hg commit --config eol.only-consistent=False (should work)
281 % hg commit of binary .txt file marked as native (binary files always okay)
281 % hg commit of binary .txt file marked as native (binary files always okay)
282 $ dotest CRLF
282 $ dotest CRLF
283 % hg clone repo repo-CRLF
283 % hg clone repo repo-CRLF
284 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
284 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
285 % a.txt
285 % a.txt
286 first\r (esc)
286 first\r (esc)
287 second\r (esc)
287 second\r (esc)
288 third\r (esc)
288 third\r (esc)
289 % hg cat a.txt
289 % hg cat a.txt
290 first\r (esc)
290 first\r (esc)
291 second\r (esc)
291 second\r (esc)
292 third\r (esc)
292 third\r (esc)
293 % a.txt
293 % a.txt
294 first\r (esc)
294 first\r (esc)
295 second\r (esc)
295 second\r (esc)
296 third\r (esc)
296 third\r (esc)
297 fourth\r (esc)
297 fourth\r (esc)
298 diff --git a/a.txt b/a.txt
298 diff --git a/a.txt b/a.txt
299 --- a/a.txt
299 --- a/a.txt
300 +++ b/a.txt
300 +++ b/a.txt
301 @@ -1,3 +1,4 @@
301 @@ -1,3 +1,4 @@
302 first\r (esc)
302 first\r (esc)
303 second\r (esc)
303 second\r (esc)
304 third\r (esc)
304 third\r (esc)
305 +fourth\r (esc)
305 +fourth\r (esc)
306 % switching encoding from '\r\n' to '\n'
306 % switching encoding from '\r\n' to '\n'
307 % hg diff only reports a single changed line:
307 % hg diff only reports a single changed line:
308 diff --git a/a.txt b/a.txt
308 diff --git a/a.txt b/a.txt
309 --- a/a.txt
309 --- a/a.txt
310 +++ b/a.txt
310 +++ b/a.txt
311 @@ -1,3 +1,4 @@
311 @@ -1,3 +1,4 @@
312 first\r (esc)
312 first\r (esc)
313 second\r (esc)
313 second\r (esc)
314 third\r (esc)
314 third\r (esc)
315 +fourth\r (esc)
315 +fourth\r (esc)
316 % reverting back to CRLF format
316 % reverting back to CRLF format
317 first\r (esc)
317 first\r (esc)
318 second\r (esc)
318 second\r (esc)
319 third\r (esc)
319 third\r (esc)
320 % hg commit of inconsistent .txt file marked as binary (should work)
320 % hg commit of inconsistent .txt file marked as binary (should work)
321 % hg commit of inconsistent .txt file marked as native (should fail)
321 % hg commit of inconsistent .txt file marked as native (should fail)
322 abort: inconsistent newline style in a.txt
322 abort: inconsistent newline style in a.txt
323
323
324 % hg commit --config eol.only-consistent=False (should work)
324 % hg commit --config eol.only-consistent=False (should work)
325 % hg commit of binary .txt file marked as native (binary files always okay)
325 % hg commit of binary .txt file marked as native (binary files always okay)
326 $ rm -r repo
326 $ rm -r repo
327
327
328 Mixed tests
328 Mixed tests
329
329
330 $ makemixedrepo LF
330 $ makemixedrepo LF
331
331
332 # setup LF repository
332 # setup LF repository
333 adding unix.txt
333 adding unix.txt
334 adding win.txt
334 adding win.txt
335 # setting repository-native EOLs to LF
335 # setting repository-native EOLs to LF
336 adding .hgeol
336 adding .hgeol
337 $ testmixed LF
337 $ testmixed LF
338
338
339 % hg clone mixed mixed-LF
339 % hg clone mixed mixed-LF
340 updating to branch default
340 updating to branch default
341 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
341 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
342 % hg status (eol extension not yet activated)
342 % hg status (eol extension not yet activated)
343 % hg status (eol activated)
343 % hg status (eol activated)
344 M win.txt
344 M win.txt
345 % hg commit
345 % hg commit
346 % hg status
346 % hg status
347 $ testmixed CRLF
347 $ testmixed CRLF
348
348
349 % hg clone mixed mixed-CRLF
349 % hg clone mixed mixed-CRLF
350 updating to branch default
350 updating to branch default
351 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
351 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
352 % hg status (eol extension not yet activated)
352 % hg status (eol extension not yet activated)
353 % hg status (eol activated)
353 % hg status (eol activated)
354 M win.txt
354 M win.txt
355 % hg commit
355 % hg commit
356 % hg status
356 % hg status
357 $ rm -r mixed
357 $ rm -r mixed
358 $ makemixedrepo CRLF
358 $ makemixedrepo CRLF
359
359
360 # setup CRLF repository
360 # setup CRLF repository
361 adding unix.txt
361 adding unix.txt
362 adding win.txt
362 adding win.txt
363 # setting repository-native EOLs to CRLF
363 # setting repository-native EOLs to CRLF
364 adding .hgeol
364 adding .hgeol
365 $ testmixed LF
365 $ testmixed LF
366
366
367 % hg clone mixed mixed-LF
367 % hg clone mixed mixed-LF
368 updating to branch default
368 updating to branch default
369 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
369 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
370 % hg status (eol extension not yet activated)
370 % hg status (eol extension not yet activated)
371 % hg status (eol activated)
371 % hg status (eol activated)
372 M unix.txt
372 M unix.txt
373 % hg commit
373 % hg commit
374 % hg status
374 % hg status
375 $ testmixed CRLF
375 $ testmixed CRLF
376
376
377 % hg clone mixed mixed-CRLF
377 % hg clone mixed mixed-CRLF
378 updating to branch default
378 updating to branch default
379 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
379 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
380 % hg status (eol extension not yet activated)
380 % hg status (eol extension not yet activated)
381 % hg status (eol activated)
381 % hg status (eol activated)
382 M unix.txt
382 M unix.txt
383 % hg commit
383 % hg commit
384 % hg status
384 % hg status
385 $ rm -r mixed
385 $ rm -r mixed
386
386
387 Test issue2569 -- eol extension takes write lock on reading:
387 Test issue2569 -- eol extension takes write lock on reading:
388
388
389 $ echo '[extensions]' >> $HGRCPATH
389 $ echo '[extensions]' >> $HGRCPATH
390 $ echo 'eol =' >> $HGRCPATH
390 $ echo 'eol =' >> $HGRCPATH
391 $ hg init repo
391 $ hg init repo
392 $ cd repo
392 $ cd repo
393 $ touch .hgeol
393 $ touch .hgeol
394 $ hg status
394 $ hg status
395 ? .hgeol
395 ? .hgeol
396 $ chmod -R -w .hg
396 $ chmod -R -w .hg
397 $ sleep 1
397 $ sleep 1
398 $ touch .hgeol
398 $ touch .hgeol
399 $ hg status --traceback
399 $ hg status --traceback
400 ? .hgeol
400 ? .hgeol
401 $ cd ..
402
403 Test cleverencode: and cleverdecode: aliases for win32text extension
404
405 $ echo '[encode]' >> $HGRCPATH
406 $ echo '**.txt = cleverencode: =' >> $HGRCPATH
407 $ echo '[decode]' >> $HGRCPATH
408 $ echo '**.txt = cleverdecode: =' >> $HGRCPATH
409
410 $ hg init win32compat
411 $ cd win32compat
412 $ printf "foo\r\nbar\r\nbaz\r\n" > win.txt
413 $ printf "foo\nbar\nbaz\n" > unix.txt
414 $ hg add
415 adding unix.txt
416 adding win.txt
417 $ hg commit -m checkin
418
419 Check that both files have LF line-endings in the repository:
420
421 $ hg cat win.txt
422 foo
423 bar
424 baz
425 $ hg cat unix.txt
426 foo
427 bar
428 baz
General Comments 0
You need to be logged in to leave comments. Login now