annotate tests/test-patch @ 5451:0a43875677b1

revlog: break up compression of large deltas Python's zlib apparently makes an internal copy of strings passed to compress(). To avoid this, compress strings 1M at a time, then join them at the end if the result would be smaller than the original. For initial commits of large but compressible files, this cuts peak memory usage nearly in half.
author Matt Mackall <mpm@selenic.com>
date Thu, 11 Oct 2007 00:46:54 -0500
parents 0de7e6e27fe4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4645
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
1 #!/bin/sh
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
2
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
3 cat > patchtool.py <<EOF
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
4 import sys
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
5 print 'Using custom patch'
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
6 if '--binary' in sys.argv:
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
7 print '--binary found !'
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
8 EOF
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
9
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
10 echo "[ui]" >> $HGRCPATH
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
11 echo "patch=python ../patchtool.py" >> $HGRCPATH
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
12
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
13 hg init a
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
14 cd a
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
15 echo a > a
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
16 hg commit -Ama -d '1 0'
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
17 echo b >> a
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
18 hg commit -Amb -d '2 0'
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
19 cd ..
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
20
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
21 # This test check that:
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
22 # - custom patch commands with arguments actually works
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
23 # - patch code does not try to add weird arguments like
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
24 # --binary when custom patch commands are used. For instance
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
25 # --binary is added by default under win32.
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
26
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
27 echo % check custom patch options are honored
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
28 hg --cwd a export -o ../a.diff tip
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
29 hg clone -r 0 a b
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
30
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
31 hg --cwd b import -v ../a.diff
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
32
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
33
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
34
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
35
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
36