Mercurial > hg
annotate tests/test-mq-eol.t @ 39568:842cd0bdda75
util: teach lrucachedict to enforce a max total cost
Now that lrucachedict entries can have a numeric cost associated
with them and we can easily pop the oldest item in the cache, it
now becomes relatively trivial to implement support for enforcing
a high water mark on the total cost of items in the cache.
This commit teaches lrucachedict instances to have a max cost
associated with them. When items are inserted, we pop old items
until enough "cost" frees up to make room for the new item.
This feature is close to zero cost when not used (modulo the insertion
regressed introduced by the previous commit):
$ ./hg perflrucachedict --size 4 --gets 1000000 --sets 1000000 --mixed 1000000
! gets
! wall 0.607444 comb 0.610000 user 0.610000 sys 0.000000 (best of 17)
! wall 0.601653 comb 0.600000 user 0.600000 sys 0.000000 (best of 17)
! inserts
! wall 0.678261 comb 0.680000 user 0.680000 sys 0.000000 (best of 14)
! wall 0.685042 comb 0.680000 user 0.680000 sys 0.000000 (best of 15)
! sets
! wall 0.808770 comb 0.800000 user 0.800000 sys 0.000000 (best of 13)
! wall 0.834241 comb 0.830000 user 0.830000 sys 0.000000 (best of 12)
! mixed
! wall 0.782441 comb 0.780000 user 0.780000 sys 0.000000 (best of 13)
! wall 0.803804 comb 0.800000 user 0.800000 sys 0.000000 (best of 13)
$ hg perflrucachedict --size 1000 --gets 1000000 --sets 1000000 --mixed 1000000
! init
! wall 0.006952 comb 0.010000 user 0.010000 sys 0.000000 (best of 418)
! gets
! wall 0.613350 comb 0.610000 user 0.610000 sys 0.000000 (best of 17)
! wall 0.617415 comb 0.620000 user 0.620000 sys 0.000000 (best of 17)
! inserts
! wall 0.701270 comb 0.700000 user 0.700000 sys 0.000000 (best of 15)
! wall 0.700516 comb 0.700000 user 0.700000 sys 0.000000 (best of 15)
! sets
! wall 0.825720 comb 0.830000 user 0.830000 sys 0.000000 (best of 13)
! wall 0.837946 comb 0.840000 user 0.830000 sys 0.010000 (best of 12)
! mixed
! wall 0.821644 comb 0.820000 user 0.820000 sys 0.000000 (best of 13)
! wall 0.850559 comb 0.850000 user 0.850000 sys 0.000000 (best of 12)
I reckon the slight slowdown on insert is due to added if checks.
For caches with total cost limiting enabled:
$ hg perflrucachedict --size 4 --gets 1000000 --sets 1000000 --mixed 1000000 --costlimit 100
! gets w/ cost limit
! wall 0.598737 comb 0.590000 user 0.590000 sys 0.000000 (best of 17)
! inserts w/ cost limit
! wall 1.694282 comb 1.700000 user 1.700000 sys 0.000000 (best of 6)
! mixed w/ cost limit
! wall 1.157655 comb 1.150000 user 1.150000 sys 0.000000 (best of 9)
$ hg perflrucachedict --size 1000 --gets 1000000 --sets 1000000 --mixed 1000000 --costlimit 10000
! gets w/ cost limit
! wall 0.598526 comb 0.600000 user 0.600000 sys 0.000000 (best of 17)
! inserts w/ cost limit
! wall 37.838315 comb 37.840000 user 37.840000 sys 0.000000 (best of 3)
! mixed w/ cost limit
! wall 18.060198 comb 18.060000 user 18.060000 sys 0.000000 (best of 3)
$ hg perflrucachedict --size 1000 --gets 1000000 --sets 1000000 --mixed 1000000 --costlimit 10000 --mixedgetfreq 90
! gets w/ cost limit
! wall 0.600024 comb 0.600000 user 0.600000 sys 0.000000 (best of 17)
! inserts w/ cost limit
! wall 37.154547 comb 37.120000 user 37.120000 sys 0.000000 (best of 3)
! mixed w/ cost limit
! wall 4.381602 comb 4.380000 user 4.370000 sys 0.010000 (best of 3)
The functions we're benchmarking are slightly different, which could
move numbers by a few milliseconds. But the slowdown on insert is too
great to be explained by that. The slowness is due to insert heavy
operations needing to call popoldest() repeatedly when the cache is
at capacity. The next commit will address this.
Differential Revision: https://phab.mercurial-scm.org/D4503
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 06 Sep 2018 14:04:46 -0700 |
parents | a67b144ef74f |
children | 5abc47d4ca6b |
rev | line source |
---|---|
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
1 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
2 Test interactions between mq and patch.eol |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
3 |
8811
8b35b08724eb
Make mq, record and transplant honor patch.eol
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
5 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
6 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
7 > mq = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
8 > [diff] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
9 > nodates = 1 |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
22947
diff
changeset
|
10 > EOF |
8811
8b35b08724eb
Make mq, record and transplant honor patch.eol
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
12 $ cat > makepatch.py <<EOF |
35945
1dbd8a62b581
py3: use open() instead of file()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
33721
diff
changeset
|
13 > f = open('eol.diff', 'wb') |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
14 > w = f.write |
36283
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
15 > w(b'test message\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
16 > w(b'diff --git a/a b/a\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
17 > w(b'--- a/a\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
18 > w(b'+++ b/a\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
19 > w(b'@@ -1,5 +1,5 @@\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
20 > w(b' a\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
21 > w(b'-b\r\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
22 > w(b'+y\r\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
23 > w(b' c\r\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
24 > w(b' d\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
25 > w(b'-e\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
26 > w(b'\ No newline at end of file\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
27 > w(b'+z\r\n') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
28 > w(b'\ No newline at end of file\r\n') |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
29 > EOF |
8811
8b35b08724eb
Make mq, record and transplant honor patch.eol
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
30 |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
31 $ cat > cateol.py <<EOF |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
32 > import sys |
35945
1dbd8a62b581
py3: use open() instead of file()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
33721
diff
changeset
|
33 > for line in open(sys.argv[1], 'rb'): |
36283
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
34 > line = line.replace(b'\r', b'<CR>') |
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
35 > line = line.replace(b'\n', b'<LF>') |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32940
diff
changeset
|
36 > print(line) |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
37 > EOF |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
38 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
39 $ hg init repo |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
40 $ cd repo |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
41 $ echo '\.diff' > .hgignore |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
42 $ echo '\.rej' >> .hgignore |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
43 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
44 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
45 Test different --eol values |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
46 |
36283
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
47 $ $PYTHON -c 'open("a", "wb").write(b"a\nb\nc\nd\ne")' |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
48 $ hg ci -Am adda |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
49 adding .hgignore |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
50 adding a |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
26780
diff
changeset
|
51 $ $PYTHON ../makepatch.py |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
52 $ hg qimport eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
53 adding eol.diff to series file |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
54 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
55 should fail in strict mode |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
56 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
57 $ hg qpush |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
58 applying eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
59 patching file a |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
60 Hunk #1 FAILED at 0 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
61 1 out of 1 hunks FAILED -- saving rejects to file a.rej |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
62 patch failed, unable to continue (try -v) |
24365
f1eaf03dd608
commands: say "working directory" in full spelling
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
63 patch failed, rejects left in working directory |
26780 | 64 errors during apply, please fix and qrefresh eol.diff |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11895
diff
changeset
|
65 [2] |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
66 $ hg qpop |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
67 popping eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
68 patch queue now empty |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
69 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
70 invalid eol |
8811
8b35b08724eb
Make mq, record and transplant honor patch.eol
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
71 |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
72 $ hg --config patch.eol='LFCR' qpush |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
73 applying eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
74 patch failed, unable to continue (try -v) |
24365
f1eaf03dd608
commands: say "working directory" in full spelling
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
75 patch failed, rejects left in working directory |
26780 | 76 errors during apply, please fix and qrefresh eol.diff |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11895
diff
changeset
|
77 [2] |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
78 $ hg qpop |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
79 popping eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
80 patch queue now empty |
8811
8b35b08724eb
Make mq, record and transplant honor patch.eol
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
81 |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
82 force LF |
8811
8b35b08724eb
Make mq, record and transplant honor patch.eol
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
83 |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
84 $ hg --config patch.eol='CRLF' qpush |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
85 applying eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
86 now at: eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
87 $ hg qrefresh |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
26780
diff
changeset
|
88 $ $PYTHON ../cateol.py .hg/patches/eol.diff |
22545
6a2cfa61acb0
mq: upgrade non-plain patches to HG format when setting parent in patchheader
Mads Kiilerich <madski@unity3d.com>
parents:
13100
diff
changeset
|
89 # HG changeset patch<LF> |
6a2cfa61acb0
mq: upgrade non-plain patches to HG format when setting parent in patchheader
Mads Kiilerich <madski@unity3d.com>
parents:
13100
diff
changeset
|
90 # Parent 0d0bf99a8b7a3842c6f8ef09e34f69156c4bd9d0<LF> |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
91 test message<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
92 <LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
93 diff -r 0d0bf99a8b7a a<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
94 --- a/a<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
95 +++ b/a<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
96 @@ -1,5 +1,5 @@<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
97 -a<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
98 -b<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
99 -c<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
100 -d<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
101 -e<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
102 \ No newline at end of file<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
103 +a<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
104 +y<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
105 +c<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
106 +d<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
107 +z<LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
108 \ No newline at end of file<LF> |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
26780
diff
changeset
|
109 $ $PYTHON ../cateol.py a |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
110 a<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
111 y<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
112 c<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
113 d<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
114 z |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
115 $ hg qpop |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
116 popping eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
117 patch queue now empty |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
118 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
119 push again forcing LF and compare revisions |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
120 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
121 $ hg --config patch.eol='CRLF' qpush |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
122 applying eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
123 now at: eol.diff |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
26780
diff
changeset
|
124 $ $PYTHON ../cateol.py a |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
125 a<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
126 y<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
127 c<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
128 d<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
129 z |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
130 $ hg qpop |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
131 popping eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
132 patch queue now empty |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
133 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
134 push again without LF and compare revisions |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
135 |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
136 $ hg qpush |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
137 applying eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
138 now at: eol.diff |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
26780
diff
changeset
|
139 $ $PYTHON ../cateol.py a |
11895
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
140 a<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
141 y<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
142 c<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
143 d<CR><LF> |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
144 z |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
145 $ hg qpop |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
146 popping eol.diff |
78e3a70c4445
tests: unify test-mq-eol
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10190
diff
changeset
|
147 patch queue now empty |
13100
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
148 $ cd .. |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
149 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
150 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
151 Test .rej file EOL are left unchanged |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
152 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
153 $ hg init testeol |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
154 $ cd testeol |
36283
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
155 $ $PYTHON -c "open('a', 'wb').write(b'1\r\n2\r\n3\r\n4')" |
13100
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
156 $ hg ci -Am adda |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
157 adding a |
36283
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
158 $ $PYTHON -c "open('a', 'wb').write(b'1\r\n2\r\n33\r\n4')" |
13100
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
159 $ hg qnew patch1 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
160 $ hg qpop |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
161 popping patch1 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
162 patch queue now empty |
36283
a67b144ef74f
py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35945
diff
changeset
|
163 $ $PYTHON -c "open('a', 'wb').write(b'1\r\n22\r\n33\r\n4')" |
13100
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
164 $ hg ci -m changea |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
165 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
166 $ hg --config 'patch.eol=LF' qpush |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
167 applying patch1 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
168 patching file a |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
169 Hunk #1 FAILED at 0 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
170 1 out of 1 hunks FAILED -- saving rejects to file a.rej |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
171 patch failed, unable to continue (try -v) |
24365
f1eaf03dd608
commands: say "working directory" in full spelling
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
172 patch failed, rejects left in working directory |
26780 | 173 errors during apply, please fix and qrefresh patch1 |
13100
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
174 [2] |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
175 $ hg qpop |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
176 popping patch1 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
177 patch queue now empty |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
178 $ cat a.rej |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
179 --- a |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
180 +++ a |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
181 @@ -1,4 +1,4 @@ |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
182 1\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
183 2\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
184 -3\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
185 +33\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
186 4 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
187 \ No newline at end of file |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
188 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
189 $ hg --config 'patch.eol=auto' qpush |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
190 applying patch1 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
191 patching file a |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
192 Hunk #1 FAILED at 0 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
193 1 out of 1 hunks FAILED -- saving rejects to file a.rej |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
194 patch failed, unable to continue (try -v) |
24365
f1eaf03dd608
commands: say "working directory" in full spelling
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
195 patch failed, rejects left in working directory |
26780 | 196 errors during apply, please fix and qrefresh patch1 |
13100
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
197 [2] |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
198 $ hg qpop |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
199 popping patch1 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
200 patch queue now empty |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
201 $ cat a.rej |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
202 --- a |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
203 +++ a |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
204 @@ -1,4 +1,4 @@ |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
205 1\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
206 2\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
207 -3\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
208 +33\r (esc) |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
209 4 |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
210 \ No newline at end of file |
66d7a1250c9b
patch: write .rej files without rewriting EOLs
Patrick Mezard <pmezard@gmail.com>
parents:
12316
diff
changeset
|
211 $ cd .. |