Tue, 07 Jun 2005 00:04:43 -0800 hgweb: shrink the default changelog list to 10
mpm@selenic.com [Tue, 07 Jun 2005 00:04:43 -0800] rev 269
hgweb: shrink the default changelog list to 10 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hgweb: shrink the default changelog list to 10 manifest hash: 4d5f9f35b3dcb6bf05c0f25ab89cedba269ad924 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCpVUbywK+sNU5EO8RAlmTAJ9HzQz9C1lmL22IGU0tXYDTLqcVAQCfTD1U pDF449wXA8ocjAF+UUJ7sL8= =YyBZ -----END PGP SIGNATURE-----
Tue, 07 Jun 2005 00:03:38 -0800 unknown command fixups
mpm@selenic.com [Tue, 07 Jun 2005 00:03:38 -0800] rev 268
unknown command fixups -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 unknown command fixups from Andrew Thompson manifest hash: 3ed1956585a905a52d93491ea95096be23c9acf8 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCpVTaywK+sNU5EO8RAkvLAJ0ff8/kVQc93jGy5t1uJ5R8m0M4OACfZ1Ba O7CldaLkwEzqybw/5iL6NAw= =WGtU -----END PGP SIGNATURE-----
Tue, 07 Jun 2005 00:00:56 -0800 Initial import of hgit and hgk
mpm@selenic.com [Tue, 07 Jun 2005 00:00:56 -0800] rev 267
Initial import of hgit and hgk -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Initial import of hgit and hgk Support for git compatibility sufficient to run gitk on top of hg repositories. This includes: hgit diff-tree hgit rev-list hgit rev-tree hgit cat-file Signed-off-by: Chris Mason <mason@suse.com> hgk is a slightly modified version of gitk1.1 from Paul Mackerras. It has been changed to use hgit commands, and has support for the extended rev-list -c to speed up the commit listing. Signed-off-by: Chris Mason <mason@suse.com> manifest hash: 5a4a27135bc85bab2a3a1e35018a08a985d8d146 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCpVQ4ywK+sNU5EO8RAl3QAJ9p6VyZ8fCHfgt0p8ksgL2P215DXQCfZU47 d+u5GpZvkOTOc3+LU3Ny3nE= =rjsC -----END PGP SIGNATURE-----
Mon, 06 Jun 2005 23:57:00 -0800 Fix argument processing for patch and rawcommit
mpm@selenic.com [Mon, 06 Jun 2005 23:57:00 -0800] rev 266
Fix argument processing for patch and rawcommit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Fix argument processing for patch and rawcommit manifest hash: fc76fcd22ca69185bbec1855f72dda5b692e03f3 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCpVNMywK+sNU5EO8RAn2nAJ4gBbdn8K6xN55Igh6J2ZJEMgRGBACgr0Xb KkjbnOrNL5uQmBHx59C7HdY= =qsQi -----END PGP SIGNATURE-----
Mon, 06 Jun 2005 10:52:19 -0800 hgweb: fix non-existent source or destination for diff
mpm@selenic.com [Mon, 06 Jun 2005 10:52:19 -0800] rev 265
hgweb: fix non-existent source or destination for diff -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hgweb: fix non-existent source or destination for diff manifest hash: c076bc00ba04911392085f3d0697106f4d24b808 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCpJtjywK+sNU5EO8RAsaTAKCso0BDI3GQxN9ZZRNeMXjeZXCXLgCfYM+R JpTBR7gUZtV+pEexSfFlRDQ= =moF8 -----END PGP SIGNATURE-----
Mon, 06 Jun 2005 10:51:09 -0800 Attempt to make diff deal with null sources properly
mpm@selenic.com [Mon, 06 Jun 2005 10:51:09 -0800] rev 264
Attempt to make diff deal with null sources properly -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Attempt to make diff deal with null sources properly manifest hash: 7766ed2b885640157b93474b6e42573ec061fcfb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCpJsdywK+sNU5EO8RAr5gAJ9sIik+3FDyI8UvIvrWlku4QgMZWQCcDFvh MvtqY8pFYTFLp7tM2zzTlu4= =a0oy -----END PGP SIGNATURE-----
Sun, 05 Jun 2005 10:50:03 -0800 Fix empty repository transaction bug
mpm@selenic.com [Sun, 05 Jun 2005 10:50:03 -0800] rev 263
Fix empty repository transaction bug -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Fix empty repository transaction bug manifest hash: df334795ea545f2401d08f734b8b6933af053d7b -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCo0lbywK+sNU5EO8RAr0TAJ9g9703187KXlpBOffNUGcYKGTLzwCgrqdq jYjtTvZZ3nRCt8biaTcad3c= =+riB -----END PGP SIGNATURE-----
Sun, 05 Jun 2005 10:48:39 -0800 implement demand loading hack
mpm@selenic.com [Sun, 05 Jun 2005 10:48:39 -0800] rev 262
implement demand loading hack -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 implement demand loading hack This attempts to speed up start-up times without pushing imports down into local scopes. manifest hash: f9c18897e67f7872b44f5c89bdde00edfc3628ce -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCo0kHywK+sNU5EO8RAg5HAKCxRKAz3FXDyv4wScq1ZbwTgfPa2gCfW9K+ dg5nC3Uvp4FilP8waF6liAY= =dolF -----END PGP SIGNATURE-----
Sun, 05 Jun 2005 10:42:52 -0800 Update README
mpm@selenic.com [Sun, 05 Jun 2005 10:42:52 -0800] rev 261
Update README -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Update README manifest hash: 6c869ba7478b4fead8cffa88bfb704a03ec918b3 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCo0esywK+sNU5EO8RAtEYAJ4r+9tCMQKO0vkRx+gWolO7p5iXhwCfbKf5 41ghEeWPQrFXPv2GMruR7t0= =o1eg -----END PGP SIGNATURE-----
Sun, 05 Jun 2005 00:42:44 -0800 Some tweaking of notes.txt
mpm@selenic.com [Sun, 05 Jun 2005 00:42:44 -0800] rev 260
Some tweaking of notes.txt -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Some tweaking of notes.txt manifest hash: c32913f139f35f28a87a4e432b5dd63deaab3c2b -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCorsEywK+sNU5EO8RAph7AKCT8zmySShpwxUI9lNbe/Ctc0sZiwCgtAKG TaNy7+0p62smfYecxxvBwS4= =mLc6 -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 23:37:11 -0800 fix addremove
mpm@selenic.com [Sat, 04 Jun 2005 23:37:11 -0800] rev 259
fix addremove -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 fix addremove manifest hash: 15a37c156e2186e89ef086ef974541bf1c695280 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoqunywK+sNU5EO8RAuICAJ9x7W0xz1ZBJ7nFYiiQEBljyYwqhACfVE7R oiP0nigB4SzQMMmifrQ7UkA= =/c5l -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 20:02:27 -0800 hgweb: watch changelog for changes
mpm@selenic.com [Sat, 04 Jun 2005 20:02:27 -0800] rev 258
hgweb: watch changelog for changes -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hgweb: watch changelog for changes Check the mtime of the changelog for updates on each invocation of run(). For the standalone server, this means you don't need to re-run it to pick up changes. manifest hash: 398bdbf03b867df27da9e803a094dd265f62e12c -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFConlTywK+sNU5EO8RAljMAKCigJKR2aXabt1kuYeiAl+PZEN1owCeKShZ oZKfo+I7e967FqI9l7NIPFE= =pTp6 -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 19:35:08 -0800 Sort tags in revision order
mpm@selenic.com [Sat, 04 Jun 2005 19:35:08 -0800] rev 257
Sort tags in revision order -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sort tags in revision order manifest hash: 23f33a4ece3d36e4387d9c096a87e3d758db0cbc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFConLsywK+sNU5EO8RAkBTAJ0c71AIsyi3YFyNIZTAMgEIMgEHNACggAKC YrPLqJ3nzAX/tLSprvR/SUY= =WTsq -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 19:21:13 -0800 minor fixes for update()
mpm@selenic.com [Sat, 04 Jun 2005 19:21:13 -0800] rev 256
minor fixes for update() -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 minor fixes for update() manifest hash: ee88b90b933d83d5a9e108ec5519da93629bf29b -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCom+pywK+sNU5EO8RAqOxAJ9Cbk8NTlFAmlF3phcmz9MlaVYRuwCdGDjC oMFBjhRhvif/nBJbHjqW2Qw= =RN0T -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 19:09:00 -0800 hg help: use docstrings only
mpm@selenic.com [Sat, 04 Jun 2005 19:09:00 -0800] rev 255
hg help: use docstrings only -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hg help: use docstrings only Now all Mercurial commands are at least partially self-documenting manifest hash: 177e5f0fb13c258cc56d9b42cf762e55c3141531 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFComzMywK+sNU5EO8RAr3dAJ0dtlW4h7xZgaj1T3lchPnO2HHb/QCfcSnJ e3SRVwd8DjsfxHFNQfOx+Qk= =+6jb -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 18:34:35 -0800 unify checkout and resolve into update
mpm@selenic.com [Sat, 04 Jun 2005 18:34:35 -0800] rev 254
unify checkout and resolve into update -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 unify checkout and resolve into update This replaces checkout and resolve with a single command: $ hg help co hg update [node] update or merge working directory If there are no outstanding changes in the working directory and there is a linear relationship between the current version and the requested version, the result is the requested version. Otherwise the result is a merge between the contents of the current working directory and the requested version. Files that changed between either parent are marked as changed for the next commit and a commit must be performed before any further updates are allowed. manifest hash: 513d285d7fb775d0560de49387042a685ea062f7 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFComS7ywK+sNU5EO8RAmgRAJ96GA6qvHLy0Jp0fzUrR2os2azPuACePsdC YBldZtA7yIuTnV2vIbn7OSE= =QtM/ -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 15:16:48 -0800 Remove invalid state from dirstate
mpm@selenic.com [Sat, 04 Jun 2005 15:16:48 -0800] rev 253
Remove invalid state from dirstate -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Remove invalid state from dirstate It's no longer needed now that we backup and restore dirstate properly manifest hash: 74c98540d685a76bd95dd7ebf4aaeff678706952 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCojZgywK+sNU5EO8RApaEAKCXO9Tl5h8vAC7GcQyUCx+feFExyACaAjfp 2hWiAJ9+B7EQgx2BJFE9Xek= =apay -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 15:14:39 -0800 Handle unknown commands nicely
mpm@selenic.com [Sat, 04 Jun 2005 15:14:39 -0800] rev 252
Handle unknown commands nicely -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Handle unknown commands nicely manifest hash: 787091fe5d983cdcd12491daaaf3cf60e9e950cc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCojXfywK+sNU5EO8RAlniAJ4gow9qBZ80Rvv8J3Rp8Ow2J/HOzwCglI3z Ra50GpqCglTuqWvPcBNfdMQ= =2s1i -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 15:14:11 -0800 backup dirstate for undo
mpm@selenic.com [Sat, 04 Jun 2005 15:14:11 -0800] rev 251
backup dirstate for undo -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 backup dirstate for undo manifest hash: 2999407c1f8999e91ba0e23828cb406803b364a5 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCojXDywK+sNU5EO8RAotIAKC3P3Oz+9n/EgqkFc0UMTlUErSNAQCgpjYm hpuZlC4lNO6aRiDfPVDL8Cw= =DDtT -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 14:25:08 -0800 Catch broken pipes in command interpreter
mpm@selenic.com [Sat, 04 Jun 2005 14:25:08 -0800] rev 250
Catch broken pipes in command interpreter -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Catch broken pipes in command interpreter manifest hash: b1550ec705836af571bf0c0921d9e768ac5e5e80 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoipEywK+sNU5EO8RAg2WAKCu3NUArYzOX2UwGj8pv3AnDQCwoQCffPWk RcaNt0+COwST2FlbQQOxEk8= =jbZG -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 14:16:32 -0800 import and startup cleanups
mpm@selenic.com [Sat, 04 Jun 2005 14:16:32 -0800] rev 249
import and startup cleanups -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 import and startup cleanups add commands:run() add copyright notice to commands eliminate/reorganize imports to speed up start time: 0.5b: $ time bash -c 'for i in `seq 100`; do ~/bin/hg > /dev/null; done' real 0m7.718s user 0m6.719s sys 0m0.794s new: $ time bash -c 'for i in `seq 100`; do hg > /dev/null; done' real 0m2.171s user 0m1.684s sys 0m0.444s just python: $ time bash -c 'for i in `seq 100`; do python -c pass; done' real 0m0.988s user 0m0.771s sys 0m0.207s Ignoring the fixed cost of loading the Python interpreter, we're 5.6 times faster. With the Python load time, we're still 3.5 times faster. manifest hash: acce5882a55c76eb165316f5741724c8ce4ef587 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoihAywK+sNU5EO8RAqMdAJwMe6Ur0R9G6jjayNa5hH2C3c4k/gCeIYvc N178vaWWGciX9zq+g5qCAls= =buhv -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 13:45:31 -0800 migrate remaining commands
mpm@selenic.com [Sat, 04 Jun 2005 13:45:31 -0800] rev 248
migrate remaining commands -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 migrate remaining commands This removes basically everything from the top-level hg script manifest hash: 34883e89d8def30e28936b38a9342d2f650f4c94 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoiD7ywK+sNU5EO8RAh0cAKCeOO9vahYs0tGmMNKk8bflw35p2wCgr6Wr y0SNLHSVBMCzXtC9zlfDPog= =3nJx -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 12:24:23 -0800 migrate verify
mpm@selenic.com [Sat, 04 Jun 2005 12:24:23 -0800] rev 247
migrate verify -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 migrate verify Move the bulk of the verify code into the localrepository class and move the command into commands.py manifest hash: 793a8d0094d56ab0a411cd11d7fe7f39c923f209 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCog33ywK+sNU5EO8RApfBAJ4mCmiMmZE1fEfbR6sA+aP1csPvqQCfXHzY 3XK7yc19AivXf5HGKEOL3eM= =GISf -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 12:14:14 -0800 Migrate rawcommit, import, export, history, and merge
mpm@selenic.com [Sat, 04 Jun 2005 12:14:14 -0800] rev 246
Migrate rawcommit, import, export, history, and merge -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Migrate rawcommit, import, export, history, and merge manifest hash: f932108ee40e34b460e94b6fe60d6a06ac9f760c -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoguVywK+sNU5EO8RAtohAKCe9Qr5R+YeLRluJlTxRGrJW/nnoQCfW/+F I0BSOeNpb6jdUxTZY1jV0xo= =hNXm -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 11:18:56 -0800 big heap of command clean-up work
mpm@selenic.com [Sat, 04 Jun 2005 11:18:56 -0800] rev 245
big heap of command clean-up work -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 big heap of command clean-up work Migrate add, forget, remove, commit, diff, addremove, tip, log, recover, and serve. Fix up filterfiles, relfilter, and relpath to be a bit more bulletproof Alphabetize functions and the command table Make everything in commands.py relative-path aware manifest hash: f0856031a7be4e49289677b467f29bcf24ebce4a -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCof6gywK+sNU5EO8RAoW1AJsHu8vchPSjls7wVbvsq/UKlGhqtgCgtnnl xSBxyf/TEVWjHIk3uTa8WSE= =YPMl -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 11:13:25 -0800 root relative IO and valid commit states
mpm@selenic.com [Sat, 04 Jun 2005 11:13:25 -0800] rev 244
root relative IO and valid commit states -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 root relative IO and valid commit states do all working dir manipulation relative to localrepository.root change the valid commit states manifest hash: def7de4dfb4cad1fd4ef6f713fa3b5c903e05c58 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCof1VywK+sNU5EO8RArEVAJ9F/zFYqRvS2dWxOhONCm1OjEjILQCfcmDq ARbGkSFSyVmyUSBSEq4n//E= =qIEI -----END PGP SIGNATURE-----
Sat, 04 Jun 2005 11:10:42 -0800 fix heads for rev 0
mpm@selenic.com [Sat, 04 Jun 2005 11:10:42 -0800] rev 243
fix heads for rev 0 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 fix heads for rev 0 manifest hash: 7b2f4607f6c54b660d63ac35ba953576464e1511 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCofyyywK+sNU5EO8RAjkeAJ4rfOQ9HV+gpndsTzuoS6R3f+mzEQCfcb0P IWhTz6XDpTWEkjzcK++mZ4k= =mINY -----END PGP SIGNATURE-----
Fri, 03 Jun 2005 18:42:53 -0800 hgmerge: use diff3 if available
mpm@selenic.com [Fri, 03 Jun 2005 18:42:53 -0800] rev 242
hgmerge: use diff3 if available -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hgmerge: use diff3 if available diff3 may be more readily available than merge manifest hash: 67a314ac42aa78410d64a6c3d36c2d575a588533 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoRUtywK+sNU5EO8RAmFPAJ0aN8VNvN9zpE/zov6wT3M98vGfDwCfXEOk xZlQHYIGrCLOFQiCQxIfr7I= =Asv9 -----END PGP SIGNATURE-----
Fri, 03 Jun 2005 18:29:46 -0800 Resolve bits from TAH
mpm@selenic.com [Fri, 03 Jun 2005 18:29:46 -0800] rev 241
Resolve bits from TAH -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Resolve bits from TAH manifest hash: dc639d419de857b22da9f707cbb557c328eb12f5 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoRIaywK+sNU5EO8RAswQAKCiEcQ5RV3C2JZXgQBch28VO3NpSgCdEzcD Td8bV8IKVUIXtvrcy1rCZTY= =tAU7 -----END PGP SIGNATURE-----
Fri, 03 Jun 2005 18:27:55 -0800 Replace tkmerge with hgmerge
mpm@selenic.com [Fri, 03 Jun 2005 18:27:55 -0800] rev 240
Replace tkmerge with hgmerge -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Replace tkmerge with hgmerge hgmerge attempts to find and use merge, kdiff3, tkmerge, and diff+patch. hg will use hgmerge unless overridden with HGMERGE manifest hash: 9137a620df4b235e66343b0fd0dba87fe631546e -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoRGrywK+sNU5EO8RAi2VAJ9bh97ChGJymP/p8rvCuyNAMnk1bQCgrIGP vYI6qlyWKQZ01ObUTAIg92o= =+mRH -----END PGP SIGNATURE-----
(0) -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip