Mercurial > hg
annotate tests/test-eolfilename.t @ 48598:a6f16ec07ed7
stream-clone: add a explicit test for format change during stream clone
They are different kind of requirements, the one which impact the data storage
and are relevant to the files being streamed and the one which does not. For
example some requirements are only relevant to the working copy, like sparse, or
dirstate-v2.
Since they are irrelevant to the content being streamed, they do not prevent the
receiving side to use streaming clone and mercurial skip adverting them over
the wire and, ideally, within the bundle.
In addition, this let the client decide to use whichever format it desire for
the part that does not affect the store itself. So the configuration related to
these format are used as normal when doing a streaming clone.
In practice, the feature was not really tested and is badly broken with bundle-2,
since the requirements are not filtered out from the stream bundle.
So we start with adding simple tests as a good base before the fix and adjust
the feature.
Differential Revision: https://phab.mercurial-scm.org/D12029
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 17 Jan 2022 18:51:47 +0100 |
parents | 3175b0e0058b |
children |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
17910
diff
changeset
|
1 #require eol-in-paths |
3607
f4c9bb4ad7b1
issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
2 |
26420
2fc86d92c4a9
urls: bulk-change BTS urls to new location
Matt Mackall <mpm@selenic.com>
parents:
23172
diff
changeset
|
3 https://bz.mercurial-scm.org/352 |
3607
f4c9bb4ad7b1
issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
4 |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
5 test issue352 |
3607
f4c9bb4ad7b1
issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
6 |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
7 $ hg init foo |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
8 $ cd foo |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
9 $ A=`printf 'he\rllo'` |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
10 $ echo foo > "$A" |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
11 $ hg add |
17742
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
12 adding he\r (no-eol) (esc) |
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
13 llo |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
14 abort: '\n' and '\r' disallowed in filenames: 'he\rllo' |
45844
3175b0e0058b
errors: use InputError for errors about bad paths
Martin von Zweigbergk <martinvonz@google.com>
parents:
38263
diff
changeset
|
15 [10] |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
16 $ hg ci -A -m m |
17742
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
17 adding he\r (no-eol) (esc) |
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
18 llo |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
19 abort: '\n' and '\r' disallowed in filenames: 'he\rllo' |
45844
3175b0e0058b
errors: use InputError for errors about bad paths
Martin von Zweigbergk <martinvonz@google.com>
parents:
38263
diff
changeset
|
20 [10] |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
21 $ rm "$A" |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
22 $ echo foo > "hell |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
23 > o" |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
24 $ hg add |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
25 adding hell |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
26 o |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
27 abort: '\n' and '\r' disallowed in filenames: 'hell\no' |
45844
3175b0e0058b
errors: use InputError for errors about bad paths
Martin von Zweigbergk <martinvonz@google.com>
parents:
38263
diff
changeset
|
28 [10] |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
29 $ hg ci -A -m m |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
30 adding hell |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
31 o |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
32 abort: '\n' and '\r' disallowed in filenames: 'hell\no' |
45844
3175b0e0058b
errors: use InputError for errors about bad paths
Martin von Zweigbergk <martinvonz@google.com>
parents:
38263
diff
changeset
|
33 [10] |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
34 $ echo foo > "$A" |
38262
7c3a59e2971b
debugwalk: show matcher output only if -v/--verbose
Yuya Nishihara <yuya@tcha.org>
parents:
32553
diff
changeset
|
35 $ hg debugwalk -v |
38263
dbf31732ef64
debugwalk: pretty-print nested matcher
Yuya Nishihara <yuya@tcha.org>
parents:
38262
diff
changeset
|
36 * matcher: |
dbf31732ef64
debugwalk: pretty-print nested matcher
Yuya Nishihara <yuya@tcha.org>
parents:
38262
diff
changeset
|
37 <alwaysmatcher> |
17742
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
38 f he\r (no-eol) (esc) |
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
39 llo he\r (no-eol) (esc) |
405b6bd015df
run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
40 llo |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
41 f hell |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
42 o hell |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
43 o |
10475
2253715fde97
color: don't crash on invalid status codes (issue2036)
Brodie Rao <me+hg@dackz.net>
parents:
8936
diff
changeset
|
44 |
13945
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
45 $ echo bla > quickfox |
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
46 $ hg add quickfox |
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
47 $ hg ci -m 2 |
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
48 $ A=`printf 'quick\rfox'` |
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
49 $ hg cp quickfox "$A" |
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
50 abort: '\n' and '\r' disallowed in filenames: 'quick\rfox' |
45844
3175b0e0058b
errors: use InputError for errors about bad paths
Martin von Zweigbergk <martinvonz@google.com>
parents:
38263
diff
changeset
|
51 [10] |
13945
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
52 $ hg mv quickfox "$A" |
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
53 abort: '\n' and '\r' disallowed in filenames: 'quick\rfox' |
45844
3175b0e0058b
errors: use InputError for errors about bad paths
Martin von Zweigbergk <martinvonz@google.com>
parents:
38263
diff
changeset
|
54 [10] |
13945
03f3ce7ca2a8
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com>
parents:
12942
diff
changeset
|
55 |
26420
2fc86d92c4a9
urls: bulk-change BTS urls to new location
Matt Mackall <mpm@selenic.com>
parents:
23172
diff
changeset
|
56 https://bz.mercurial-scm.org/2036 |
10475
2253715fde97
color: don't crash on invalid status codes (issue2036)
Brodie Rao <me+hg@dackz.net>
parents:
8936
diff
changeset
|
57 |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
58 $ cd .. |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
59 |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
60 test issue2039 |
10475
2253715fde97
color: don't crash on invalid status codes (issue2036)
Brodie Rao <me+hg@dackz.net>
parents:
8936
diff
changeset
|
61 |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
62 $ hg init bar |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
63 $ cd bar |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22046
diff
changeset
|
64 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22046
diff
changeset
|
65 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22046
diff
changeset
|
66 > color = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22046
diff
changeset
|
67 > [color] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22046
diff
changeset
|
68 > mode = ansi |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22046
diff
changeset
|
69 > EOF |
12425
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
70 $ A=`printf 'foo\nbar'` |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
71 $ B=`printf 'foo\nbar.baz'` |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
72 $ touch "$A" |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
73 $ touch "$B" |
fcf55506c2f4
tests: unify test-eolfilename
Matt Mackall <mpm@selenic.com>
parents:
10475
diff
changeset
|
74 $ hg status --color=always |
17910
c8709ff57ff2
status: use condwrite to avoid zero-width format string hack
Matt Mackall <mpm@selenic.com>
parents:
17742
diff
changeset
|
75 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mfoo\x1b[0m (esc) |
12942
05fffd665170
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12425
diff
changeset
|
76 \x1b[0;35;1;4mbar\x1b[0m (esc) |
17910
c8709ff57ff2
status: use condwrite to avoid zero-width format string hack
Matt Mackall <mpm@selenic.com>
parents:
17742
diff
changeset
|
77 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mfoo\x1b[0m (esc) |
12942
05fffd665170
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12425
diff
changeset
|
78 \x1b[0;35;1;4mbar.baz\x1b[0m (esc) |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13987
diff
changeset
|
79 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13987
diff
changeset
|
80 $ cd .. |