Fri, 12 Oct 2012 23:47:40 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Oct 2012 23:47:40 +0200] rev 1144
Merge with stable
Thu, 11 Oct 2012 16:05:14 -0700 tests: correctly report a test killed by a signal stable
Bryan O'Sullivan <bryano@fb.com> [Thu, 11 Oct 2012 16:05:14 -0700] rev 1143
tests: correctly report a test killed by a signal [ original upstream message ]
Fri, 12 Oct 2012 23:46:19 +0200 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Oct 2012 23:46:19 +0200] rev 1142
Merge with default
Fri, 10 Aug 2012 20:37:20 +0100 Avoid traceback caused by bogus date input (issue3344)
Christian Ebert <blacktrash@gmx.net> [Fri, 10 Aug 2012 20:37:20 +0100] rev 1141
Avoid traceback caused by bogus date input (issue3344) Wrap datefilters which split date texts with util.parsedate. We do not abort, as the bogus date must have been given by the user.
Thu, 11 Oct 2012 19:46:25 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 11 Oct 2012 19:46:25 +0200] rev 1140
Merge with stable
Wed, 26 Sep 2012 00:56:27 +0200 run-tests: allow test output lines to be terminated with \r in addition to \n stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 26 Sep 2012 00:56:27 +0200] rev 1139
run-tests: allow test output lines to be terminated with \r in addition to \n str.splitlines could not be used in 546c76e5a3e6, but _now_ we would like to have lines with other line endings than \n. Some fine occurences of (esc) markup of \r is replaced with multiple lines ending with '\r (no-eol) (esc)'. That is no win but also no significant loss. This change makes it possible to drop filtercr.py - _that_ is a win. [ original upstream message ]
Wed, 10 Oct 2012 01:37:53 +0200 run-tests: use more explicit criteria for detecting no-eol stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:37:53 +0200] rev 1138
run-tests: use more explicit criteria for detecting no-eol Preparing for the situation where there could be unsalted lines not terminated with \n. [ original upstream message ]
Wed, 10 Oct 2012 11:31:01 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Wed, 10 Oct 2012 11:31:01 +0200] rev 1137
Merge with stable
Thu, 04 Oct 2012 16:52:20 +0200 subrepo, hghave: use "svn --version --quiet" to determine version number stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2012 16:52:20 +0200] rev 1136
subrepo, hghave: use "svn --version --quiet" to determine version number svn --version --quiet is implemented since svn 0.14.1 (August 2002) and prints just the version number, not the long output (21 lines) of "svn --version". Additionally I expect this output format to be more stable, at least it is not changed with different translations. [ original upstream message ]
Wed, 10 Oct 2012 01:30:45 +0200 run-tests: drop unused enumerate stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:30:45 +0200] rev 1135
run-tests: drop unused enumerate [ original upstream message ]
Wed, 19 Sep 2012 00:59:23 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Wed, 19 Sep 2012 00:59:23 +0100] rev 1134
Merge with stable
Sun, 09 Sep 2012 12:31:14 +0200 test-http-branchmap: enable on Windows stable
Patrick Mezard <patrick@mezard.eu> [Sun, 09 Sep 2012 12:31:14 +0200] rev 1133
test-http-branchmap: enable on Windows Tests using "hg serve --daemon" are currently disabled on Windows for lack of proper kill utility. The one shipped with MinGW operates on internal process identifiers and not on the ones recorded by hg serve. Fortunately we can replace most of them by calls to killdaemons.py. This patch is a proof of concept on how to run these tests on Windows. The plan is: - Check test-http-branchmap.t does not fail/hang on the buildbot - Convert all kill utility calls to killdaemons.py calls. - Add a rule in check-code.py to forbid kill calls, or ignore the remaining ones (test-hup.t, etc.). - Possibly drop the 'serve' rule from hghave. The: listening at http://*:$HGPORT1/ line does not appear on Windows because the detached process can no longer write on its parent streams. Grepping hg serve stdout directly causes the parent process to never return and hangs the test. This is a bug, but I have no simple solution and prefer to pay this small price and enable hg serve tests on Windows. [ orginal upstream message ]
Thu, 13 Sep 2012 23:02:29 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Sep 2012 23:02:29 +0100] rev 1132
Merge with stable
Sat, 28 Jul 2012 23:28:17 +0200 tests: unset variable HG if it is set stable
Simon Heimberg <simohe@besonet.ch> [Sat, 28 Jul 2012 23:28:17 +0200] rev 1131
tests: unset variable HG if it is set When hg tries to call itself it can call a different hg executable when this variable is set. Some tests fail when the called hg version is different. [ original upstream message ]
Wed, 12 Sep 2012 18:44:43 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Wed, 12 Sep 2012 18:44:43 +0100] rev 1130
Merge with stable
Fri, 17 Aug 2012 13:58:18 -0700 spelling: destination stable
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 1129
spelling: destination [ original upstream message ]
Mon, 20 Aug 2012 22:36:51 +0200 killdaemons: take file argument explicitely stable
Patrick Mezard <patrick@mezard.eu> [Mon, 20 Aug 2012 22:36:51 +0200] rev 1128
killdaemons: take file argument explicitely It makes it easier to use as a generic replacement for kill utility, mostly for Windows tests. [ original upstream message ]
Sun, 19 Aug 2012 18:06:15 +0200 killdaemons: add windows implementation stable
Patrick Mezard <patrick@mezard.eu> [Sun, 19 Aug 2012 18:06:15 +0200] rev 1127
killdaemons: add windows implementation [ original upstream message ]
Sun, 19 Aug 2012 16:41:09 +0200 run-tests: do not duplicate killdaemons() code stable
Patrick Mezard <patrick@mezard.eu> [Sun, 19 Aug 2012 16:41:09 +0200] rev 1126
run-tests: do not duplicate killdaemons() code [ original upstream message ]
Wed, 14 Apr 2010 17:58:10 +0900 pylint, pyflakes: remove unused or duplicate imports stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 14 Apr 2010 17:58:10 +0900] rev 1125
pylint, pyflakes: remove unused or duplicate imports [ original upstream message, already done for run-tests.py ]
Sun, 05 Jul 2009 11:01:30 +0200 compat: use open() instead of file() everywhere stable
Alejandro Santos <alejolp@alejolp.com> [Sun, 05 Jul 2009 11:01:30 +0200] rev 1124
compat: use open() instead of file() everywhere [ original upstream message only for killdaemons here ]
Fri, 07 Nov 2008 16:28:53 -0600 tests: add killdaemons helper script stable
Matt Mackall <mpm@selenic.com> [Fri, 07 Nov 2008 16:28:53 -0600] rev 1123
tests: add killdaemons helper script [ orgininal upstream message ]
Thu, 30 Aug 2012 16:18:03 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 30 Aug 2012 16:18:03 +0100] rev 1122
Merge with stable
Wed, 15 Aug 2012 22:38:42 +0200 fix trivial spelling errors stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 15 Aug 2012 22:38:42 +0200] rev 1121
fix trivial spelling errors [ original upstream message ]
Thu, 09 Aug 2012 12:52:34 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 09 Aug 2012 12:52:34 +0100] rev 1120
Merge with stable
Wed, 08 Aug 2012 18:10:16 +0200 check-code: fix check for trailing whitespace on sh command lines stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 08 Aug 2012 18:10:16 +0200] rev 1119
check-code: fix check for trailing whitespace on sh command lines The $ has been without necessary escaping since introduced in c7d23b4ca4ba. [ original upstream message ]
Wed, 04 Jul 2012 12:06:34 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Jul 2012 12:06:34 +0100] rev 1118
Merge with stable
Tue, 03 Jul 2012 18:02:07 +0200 test-keyword: adapt for Windows stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 03 Jul 2012 18:02:07 +0200] rev 1117
test-keyword: adapt for Windows [ original upstream message ]
Wed, 04 Jul 2012 02:04:58 +0200 tests: don't use dates before epoch in test-keyword.t stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 04 Jul 2012 02:04:58 +0200] rev 1116
tests: don't use dates before epoch in test-keyword.t Timezone offsets of less than a minute is not shown but can cause displayed dates to be before epoch start - and dates before epoch start is not shown correctly on Windows (see also 4d5b12a5517b). These 'negative' dates could be considered undefined behaviour so we don't care and swap the tests values for timestamp and timezone. [ original upstream message ]
Wed, 04 Jul 2012 12:04:06 +0100 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Jul 2012 12:04:06 +0100] rev 1115
Merge with default
Thu, 28 Jun 2012 23:19:35 +0100 Use ui.formatter for kwfiles output
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Jun 2012 23:19:35 +0100] rev 1114
Use ui.formatter for kwfiles output
Fri, 22 Jun 2012 13:40:23 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Fri, 22 Jun 2012 13:40:23 +0100] rev 1113
Merge with stable
Fri, 18 May 2012 12:45:47 -0700 strip: incrementally update the branchheads cache after a strip stable
Joshua Redstone <joshua.redstone@fb.com> [Fri, 18 May 2012 12:45:47 -0700] rev 1112
strip: incrementally update the branchheads cache after a strip This function augments strip to incrementally update the branchheads cache rather than recompute it from scratch. This speeds up the performance of strip and rebase on repos with long history. The performance optimization only happens if the revisions stripped are all on the same branch and the parents of the stripped revisions are also on that same branch. This adds a few test cases, particularly one that reproduces the extra heads that mpm observed. [ original upstream message ]
Thu, 21 Jun 2012 14:04:15 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Jun 2012 14:04:15 +0100] rev 1111
Merge with stable
Mon, 07 Nov 2011 13:46:41 -0600 run-tests: replace inline python handling with more native scheme stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:41 -0600] rev 1110
run-tests: replace inline python handling with more native scheme Normally changes in tests are reported like this in diffs: $ cat foo - a + b Using -i mode lets us update tests when the new results are correct and/or populate tests with their output. But with the standard doctest framework, inline Python sections in tests changes instead result in a big failure report that's unhelpful. So here, we replace the doctest calls with a simple compile/eval loop. [ original upstream message - missed change to heredoctest ]
Tue, 01 Nov 2011 12:25:54 -0700 tests: fix readline escape characters in heredoctest.py/test-url.py stable
Brodie Rao <brodie@bitheap.org> [Tue, 01 Nov 2011 12:25:54 -0700] rev 1109
tests: fix readline escape characters in heredoctest.py/test-url.py This fix mirrors the changes made to test-doctest.py in b856071435f7 and 967adcf5910d. Without this change, tests running heredoctest.py can fail on certain versions of OS X when TERM is set to xterm-256color: $ /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m heredoctest <<EOF > >>> open('b', 'w').write('this' * 1000) > EOF + \x1b[?1034h (no-eol) (esc) A similar problem occurs with test-url.py: $ ./run-tests.py test-url.py --- .../tests/test-url.py.out +++ .../tests/test-url.py.err @@ -0,0 +1 @@ + ERROR: .../test-url.py output changed ! Failed test-url.py: output changed # Ran 1 tests, 0 skipped, 1 failed. [ original upstream message ]
Thu, 13 Oct 2011 17:54:35 +0200 tests: remove temp doctest file when finished running it stable
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:35 +0200] rev 1108
tests: remove temp doctest file when finished running it [ original upstream message ]
Wed, 12 Oct 2011 22:01:13 +0200 tests: add helper script for processing doctests read from stdin stable
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:13 +0200] rev 1107
tests: add helper script for processing doctests read from stdin Writes stdin to a temp file and doctests it. In the future we might want to spare the temp file and directly call into doctest. Also, with some tweaking it seems possible to adjust the line numbers reported in an error report so they match the ones in the original file. [ original upstream message ]
Thu, 21 Jun 2012 03:05:02 +0200 tests: prepare get-with-headers.py for MSYS stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 21 Jun 2012 03:05:02 +0200] rev 1106
tests: prepare get-with-headers.py for MSYS get-with-headers.py took the http GET parameter as a command line parameter that had to start with '/'. MSYS on windows will mangle such paths. Instead of applying a workaround everywhere (such as an extra '/') we let get-with-headers.py add the mandatory '/'. That is consistent with the url path handling in the Mercurial url class. A few tests sent 'GET ?cmd=...' which is invalid. They will now send 'GET /?cmd=...'. This will not enable any tests for being run on windows - only remove one reason they were disabled. [ original upstream message ]
Wed, 20 Jun 2012 23:41:21 +0200 tests: hghave outer-repo should be true even if a bad repo is found stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 1105
tests: hghave outer-repo should be true even if a bad repo is found Only the abort message 'no repository found' is a reliable indication that there is no outer repo. [ original upstream message ]
Wed, 20 Jun 2012 23:41:21 +0200 tests: add missing no-outer-repo requirements stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 1104
tests: add missing no-outer-repo requirements Outer repos (if any) will now never be touched by the tests. But it is better to run without any repos around the tmp directory. [ original upstream message ]
Tue, 19 Jun 2012 16:00:31 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Jun 2012 16:00:31 +0100] rev 1103
Merge with stable
Fri, 15 Jun 2012 00:02:27 +0200 tests: introduce hghave hardlinks stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1102
tests: introduce hghave hardlinks Some tests can't be run on FAT filesystems because it doesn't support hardlinks. [ original upstream message ]
Fri, 15 Jun 2012 00:02:27 +0200 tests/hghave: test that the inotify unix socket actually can be created stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1101
tests/hghave: test that the inotify unix socket actually can be created Inotify do not work on FAT filesystems. [ original upstream message ]
Fri, 15 Jun 2012 00:02:27 +0200 tests/hghave: test that a fifo actually can be created on the filesystem stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1100
tests/hghave: test that a fifo actually can be created on the filesystem Some tests were failing on FAT filesystems. [ original upstream message ]
Fri, 15 Jun 2012 00:02:27 +0200 tests/hghave: consistently use dir='.', prefix=tempprefix for tempfiles stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1099
tests/hghave: consistently use dir='.', prefix=tempprefix for tempfiles Some feature tests were done in the wrong directory and could thus give the wrong result. [ original upstream message ]
Thu, 14 Jun 2012 12:54:54 +0200 tests/hghave: extract hghave.py stable
Adrian Buehlmann <adrian@cadifra.com> [Thu, 14 Jun 2012 12:54:54 +0200] rev 1098
tests/hghave: extract hghave.py hghave is degraded to a bare script, moving the functions to hghave.py so they can be shared later on. [ original upstream message ]
Mon, 11 Jun 2012 13:56:02 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Mon, 11 Jun 2012 13:56:02 +0100] rev 1097
Merge with stable
Mon, 11 Jun 2012 01:40:51 +0200 tests: add missing trailing 'cd ..' stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 11 Jun 2012 01:40:51 +0200] rev 1096
tests: add missing trailing 'cd ..' Many tests didn't change back from subdirectories at the end of the tests ... and they don't have to. The missing 'cd ..' could always be added when another test case is added to the test file. This change do that tests (99.5%) consistently end up in $TESTDIR where they started, thus making it simpler to extend them or move them around. [ original upstream message ]
Sun, 10 Jun 2012 18:50:42 +0200 tests: convert some 'hghave symlink' to #if stable
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1095
tests: convert some 'hghave symlink' to #if This will enable some tests for windows. [ original upstream message ]
Sun, 10 Jun 2012 18:50:42 +0200 tests: use the right directory for running hghave from run-tests.py stable
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1094
tests: use the right directory for running hghave from run-tests.py [ original upstream message ]
Sun, 10 Jun 2012 18:50:42 +0200 tests: make .t tests stop immediately if a cd fails stable
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1093
tests: make .t tests stop immediately if a cd fails This prevents tests from escaping from TESTTMP as a consequence of a failing directory creation. [ original upstream message ]
Sun, 10 Jun 2012 16:32:22 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Jun 2012 16:32:22 +0100] rev 1092
Merge with stable
Fri, 08 Jun 2012 15:11:05 +0200 tests/hghave: implement #if true / #if false stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 08 Jun 2012 15:11:05 +0200] rev 1091
tests/hghave: implement #if true / #if false For unconditionally testing / skipping a section. Useful for testing the test infrastructure in test-run-tests.t and for debugging/developing tests. [ original upstream message ]
Sun, 10 Jun 2012 03:05:59 +0200 tests/run-tests: avoid C:/ in arguments stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 10 Jun 2012 03:05:59 +0200] rev 1090
tests/run-tests: avoid C:/ in arguments MSYS replaces C:/... in arguments with C;... as it interprets the C:/ as a colon separated POSIX path list. The colon is replaced with ; (path separator on Windows) according to http://www.mingw.org/wiki/Posix_path_conversion So we must not replace \ with / for neither $TESTTMP nor $TESTDIR, but we have to keep replacing \ with / for the Popen4 call of function hghave. If we don't do the latter, test-run-tests.t will fail with $ python run-tests.py --local test-run-tests.t --- C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t +++ C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t.err @@ -70,6 +70,7 @@ tested #else $ echo skipped + skipped #endif #if false An additional tweak in test-ssh.t is needed that globs away an encoded path, as it can't be translated back to $TESTTMP, because the backslashes in the output have been already encoded as %5C. This patch makes test-ssh.t pass in MSYS on Windows. [ original upstream message ]
Sun, 27 May 2012 18:25:04 +0200 hghave: wrap command in 'sh -c "..."' for has_pyflakes() stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 May 2012 18:25:04 +0200] rev 1089
hghave: wrap command in 'sh -c "..."' for has_pyflakes() Without this, the has_pyflakes() check always fails in MSYS on Windows. [ original upstream message ]
Fri, 08 Jun 2012 15:11:05 +0200 tests/run-tests: use $TMP on Windows (issue3490) stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 08 Jun 2012 15:11:05 +0200] rev 1088
tests/run-tests: use $TMP on Windows (issue3490) This is just a short-term workaround for that issue. More work needs to be done on scmutil.canonpath & friends. $TMP on Windows is specified to be defined, and it has correct casing, so we can use that as the default dir for tempfile.mkdtemp on Windows. [ original upstream message ]
Tue, 05 Jun 2012 00:20:53 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Tue, 05 Jun 2012 00:20:53 +0100] rev 1087
Merge with stable
Fri, 01 Jun 2012 02:25:12 +0200 tests: introduce c-style conditional sections in .t tests stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jun 2012 02:25:12 +0200] rev 1086
tests: introduce c-style conditional sections in .t tests This makes it possible to have conditional sections like: #if windows $ echo foo foo #else $ echo bar bar #endif The directives and skipped sections are treated like comments, so don't interleave them with commands and their output. The parameters to #if are evaluated while preparing the test by passing them over to hghave. Requirements can thus be negated with 'no-' prefix, and multiple requirements must all be true to return true. [ original upstream message ]
Wed, 30 May 2012 14:28:57 +0200 run-tests: don't add python lines to expected dict stable
Adrian Buehlmann <adrian@cadifra.com> [Wed, 30 May 2012 14:28:57 +0200] rev 1085
run-tests: don't add python lines to expected dict For test input lines of *.t files starting with ' >>> ', the code block for ' >>> ' 609: if l.startswith(' >>> '): # python inlines 610: after.setdefault(pos, []).append(l) was (unsurprisingly) executed, but because there was an "if" instead of an "elif" on the condition "l.startswith(' ... ')", program execution proceeded to line 636 635: elif l.startswith(' '): # results 636: # queue up a list of expected results 637: expected.setdefault(pos, []).append(l[2:]) due to the fact that if l starts with ' >>> ' it also starts with ' '. The net effect was that python command lines in *.t files were (surprisingly) also added to the "expected" dict. This caused no externally observable bad behavior, as the "expected" dict was not consulted for these lines. [ original upstream message ]
Sun, 03 Jun 2012 19:35:23 +0200 run-test: replace backslashes in TESTDIR stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 03 Jun 2012 19:35:23 +0200] rev 1084
run-test: replace backslashes in TESTDIR This may cause troubles in MSYS on Windows. [ original upstream message ]
Sat, 02 Jun 2012 10:09:59 +0200 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Sat, 02 Jun 2012 10:09:59 +0200] rev 1083
Merge with default
Thu, 31 May 2012 12:47:50 +0200 Update copyleft
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1082
Update copyleft
Thu, 31 May 2012 12:47:50 +0200 Wlock cmdutil.copy wrapper
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1081
Wlock cmdutil.copy wrapper Expanding/shrinking happens outside the wrapped copy function; therefore write lock the repo.
(0) -1000 -300 -100 -64 +64 +100 tip