Fri, 31 Aug 2018 00:31:01 +0200 obshashrange: enable by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 00:31:01 +0200] rev 4056
obshashrange: enable by default We have been testing this in various placed and specific stress test have been performed. It is time to enable this by default
Thu, 30 Aug 2018 22:50:26 +0200 obshashrange: issue a warning if the cache takes a long time to load
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 22:50:26 +0200] rev 4055
obshashrange: issue a warning if the cache takes a long time to load The -current- implementation of the obshashrange cache can get slow. This will be fixed eventually, in the mean time we inform people on large repository of what have been going on. Since we are about to enable obshashrange by default, we need to make sure nobody will have an (unexplained) bad surprise.
Fri, 31 Aug 2018 14:26:37 +0200 pick: fix last references of grab in code
Boris Feld <boris.feld@octobus.net> [Fri, 31 Aug 2018 14:26:37 +0200] rev 4054
pick: fix last references of grab in code Grab was still referenced on comments and variable names.
Fri, 31 Aug 2018 09:21:19 +0200 pick: replace `hg grab` invocation in test with `hg pick`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:21:19 +0200] rev 4053
pick: replace `hg grab` invocation in test with `hg pick`
Fri, 31 Aug 2018 09:20:21 +0200 pick: replace "grabstate" with "pickstate"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:20:21 +0200] rev 4052
pick: replace "grabstate" with "pickstate"
Fri, 31 Aug 2018 09:19:13 +0200 pick: use "pick" as operation name in obsolescence markers
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:19:13 +0200] rev 4051
pick: use "pick" as operation name in obsolescence markers
Fri, 31 Aug 2018 12:45:56 +0200 pick: use "pick" instead of "grab" for various internal API
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 12:45:56 +0200] rev 4050
pick: use "pick" instead of "grab" for various internal API This should not much user visible impact but this is cleaner.
Fri, 31 Aug 2018 09:13:11 +0200 pick: update command output to mention pick instead of grab
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:13:11 +0200] rev 4049
pick: update command output to mention pick instead of grab
Fri, 31 Aug 2018 09:11:04 +0200 pick: rename the grab command to pick
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:11:04 +0200] rev 4048
pick: rename the grab command to pick Grab is ambiguous with "graft", "pick" match the associated verb in histedit. The "grab" name is preserved as an alias for now.
Fri, 31 Aug 2018 09:08:13 +0200 grab: prefix function with 'cmd' as for the other command in the extension
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:08:13 +0200] rev 4047
grab: prefix function with 'cmd' as for the other command in the extension
Thu, 30 Aug 2018 19:40:18 +0200 readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 19:40:18 +0200] rev 4046
readme: document the purpose of the evolve extension Another place for the explanation to live.
Thu, 30 Aug 2018 19:50:39 +0200 prune: replace --biject with --pair
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 19:50:39 +0200] rev 4045
prune: replace --biject with --pair People have been complaining about `--biject` being to obscure for a while. A recent discussion with Pulkit Goyal and Dan Villiom Podlaski Christiansen produce some new concrete proposal that we liked. We eventually settle on using `--pair`. The `--biject` flag will be kept as an alias for a while.
Tue, 28 Aug 2018 21:28:41 +0800 topic: check that repo.currenttopic is set before using it as an argument
Anton Shestakov <av6@dwimlabs.net> [Tue, 28 Aug 2018 21:28:41 +0800] rev 4044
topic: check that repo.currenttopic is set before using it as an argument repo.currenttopic can be an empty string, which means there's no current topic set. This fact can be used to short-circuit some checks. Also, this avoids passing an empty string as an argument to topic() revset.
Wed, 29 Aug 2018 18:59:07 +0200 test: update output after merge message change
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 18:59:07 +0200] rev 4043
test: update output after merge message change CORE-TEST-OUTPUT-UPDATE: f785073f792c CORE-TEST-OUTPUT-UPDATE: a3fd84f4fb38
Wed, 29 Aug 2018 17:32:47 +0200 readme: document the tag we use on output change
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 17:32:47 +0200] rev 4042
readme: document the tag we use on output change
Wed, 29 Aug 2018 17:23:25 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 17:23:25 +0200] rev 4041
branching: merge with stable
Wed, 29 Aug 2018 10:46:37 +0200 packaging: fix debian version numbers stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 10:46:37 +0200] rev 4040
packaging: fix debian version numbers
Wed, 29 Aug 2018 10:46:37 +0200 packaging: fix debian version numbers
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 10:46:37 +0200] rev 4039
packaging: fix debian version numbers
Tue, 28 Aug 2018 21:53:42 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 21:53:42 +0200] rev 4038
branching: merge stable into default
Tue, 28 Aug 2018 21:53:07 +0200 packaging: mark in progress work as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 21:53:07 +0200] rev 4037
packaging: mark in progress work as development version This avoid confusion when people install development version.
Tue, 28 Aug 2018 20:30:57 +0200 Added tag 8.1.2 for changeset f1cde4c97806 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 20:30:57 +0200] rev 4036
Added tag 8.1.2 for changeset f1cde4c97806
Tue, 28 Aug 2018 19:59:20 +0200 packagin: prepare version 8.1.2 stable 8.1.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 19:59:20 +0200] rev 4035
packagin: prepare version 8.1.2
Tue, 28 Aug 2018 20:00:46 +0200 obshashrange: force obshashrange invalidation by bumping schema stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 20:00:46 +0200] rev 4034
obshashrange: force obshashrange invalidation by bumping schema The fix in 8.1.1 deserve recomputing the obs hash range cache. So we bump its schema version to declare the older cache invalid. The other caches, including the expensive stablerange are unaffected.
Tue, 28 Aug 2018 11:25:32 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:25:32 +0200] rev 4033
test-compat: merge mercurial-4.4 into mercurial-4.3
Tue, 28 Aug 2018 11:24:52 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:52 +0200] rev 4032
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 28 Aug 2018 11:24:50 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:50 +0200] rev 4031
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 28 Aug 2018 11:24:49 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:49 +0200] rev 4030
test-compat: merge stable into mercurial-4.6
Tue, 28 Aug 2018 11:18:58 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:18:58 +0200] rev 4029
branching: merge with stable
Tue, 28 Aug 2018 10:24:18 +0200 changelog: mention the database robutness fix in the changelog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 10:24:18 +0200] rev 4028
changelog: mention the database robutness fix in the changelog
Mon, 27 Aug 2018 12:40:47 +0200 sqlcache: also catch malformed database error stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:47 +0200] rev 4027
sqlcache: also catch malformed database error This is apparently another way for sqlite to fail at concurrency.
Mon, 27 Aug 2018 12:40:41 +0200 stablerange: rework saving logic to be clearer and safer stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:41 +0200] rev 4026
stablerange: rework saving logic to be clearer and safer
Mon, 27 Aug 2018 12:12:49 +0200 obshashrange: rework saving branching to be clearer and safer stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:12:49 +0200] rev 4025
obshashrange: rework saving branching to be clearer and safer
Mon, 27 Aug 2018 11:40:32 +0200 sqlcache: protect read query too stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:40:32 +0200] rev 4024
sqlcache: protect read query too Some error (like locked database) can even happens when doing readonly operation. So we protect them too. At that point, it seems that pysqlite3 is not the right tool for this job.
Mon, 27 Aug 2018 11:33:09 +0200 sqlite: fast path when nothing to save stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:33:09 +0200] rev 4023
sqlite: fast path when nothing to save If we have no new data to save, we should try to do anything. Doing something concurrently is hard enough. If we can avoid doing it at all that would be great.
Mon, 27 Aug 2018 11:27:04 +0200 sqlcache: initialize meta table last stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:27:04 +0200] rev 4022
sqlcache: initialize meta table last It turns out that pysqlite commit after each table creation. This commit is an hopeless attemps to make the caches more concurrent friendly.
Mon, 27 Aug 2018 10:20:15 +0200 obshashrange: always check in base cachekey against the recorded one stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:20:15 +0200] rev 4021
obshashrange: always check in base cachekey against the recorded one Ignoring the check in the none case is just disaster waiting to happens.
Mon, 27 Aug 2018 10:16:12 +0200 stablerangecache: fix output in the drifted case stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:16:12 +0200] rev 4020
stablerangecache: fix output in the drifted case The node were not hex, and the field had different order in the pair. This is now fixed.
Mon, 27 Aug 2018 00:35:51 +0200 sqlcache: also ignore integrity error stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:35:51 +0200] rev 4019
sqlcache: also ignore integrity error integrity error can happens when multiple client tries to warm similar cache. Given we leave multiple hole in the cache that can be warmed by anyone, this is harder to avoid that we would like. We simply catch the error in this case. Someone will warm the missing entry later.
Mon, 27 Aug 2018 00:28:19 +0200 sqlcache: cache OperationError when saving stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:28:19 +0200] rev 4018
sqlcache: cache OperationError when saving This is a cache, so we should not crash when trying to operate on it. OperationError can happens when the database is seen as readonly or locked.
Mon, 27 Aug 2018 00:18:06 +0200 sqlcache: passe better connection option stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:18:06 +0200] rev 4017
sqlcache: passe better connection option These new options should help with handling transaction consistency and database access on high load.
Sun, 26 Aug 2018 20:55:26 +0200 contrib: introduce a small script to stress tests obsolescence exchange stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Aug 2018 20:55:26 +0200] rev 4016
contrib: introduce a small script to stress tests obsolescence exchange Tester have been reporting some error that seems to originate from concurrent access/update to the cache. This script will be useful to reproduce these situations locally.
Tue, 28 Aug 2018 10:24:18 +0200 changelog: mention the database robutness fix in the changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 10:24:18 +0200] rev 4015
changelog: mention the database robutness fix in the changelog
Mon, 27 Aug 2018 12:40:47 +0200 sqlcache: also catch malformed database error
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:47 +0200] rev 4014
sqlcache: also catch malformed database error This is apparently another way for sqlite to fail at concurrency.
Mon, 27 Aug 2018 12:40:41 +0200 stablerange: rework saving logic to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:41 +0200] rev 4013
stablerange: rework saving logic to be clearer and safer
Mon, 27 Aug 2018 12:12:49 +0200 obshashrange: rework saving branching to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:12:49 +0200] rev 4012
obshashrange: rework saving branching to be clearer and safer
Mon, 27 Aug 2018 11:40:32 +0200 sqlcache: protect read query too
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:40:32 +0200] rev 4011
sqlcache: protect read query too Some error (like locked database) can even happens when doing readonly operation. So we protect them too. At that point, it seems that pysqlite3 is not the right tool for this job.
Mon, 27 Aug 2018 11:33:09 +0200 sqlite: fast path when nothing to save
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:33:09 +0200] rev 4010
sqlite: fast path when nothing to save If we have no new data to save, we should try to do anything. Doing something concurrently is hard enough. If we can avoid doing it at all that would be great.
Mon, 27 Aug 2018 11:27:04 +0200 sqlcache: initialize meta table last
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:27:04 +0200] rev 4009
sqlcache: initialize meta table last It turns out that pysqlite commit after each table creation. This commit is an hopeless attemps to make the caches more concurrent friendly.
Mon, 27 Aug 2018 10:20:15 +0200 obshashrange: always check in base cachekey against the recorded one
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:20:15 +0200] rev 4008
obshashrange: always check in base cachekey against the recorded one Ignoring the check in the none case is just disaster waiting to happens.
Mon, 27 Aug 2018 10:16:12 +0200 stablerangecache: fix output in the drifted case
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:16:12 +0200] rev 4007
stablerangecache: fix output in the drifted case The node were not hex, and the field had different order in the pair. This is now fixed.
Mon, 27 Aug 2018 00:35:51 +0200 sqlcache: also ignore integrity error
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:35:51 +0200] rev 4006
sqlcache: also ignore integrity error integrity error can happens when multiple client tries to warm similar cache. Given we leave multiple hole in the cache that can be warmed by anyone, this is harder to avoid that we would like. We simply catch the error in this case. Someone will warm the missing entry later.
Mon, 27 Aug 2018 00:28:19 +0200 sqlcache: cache OperationError when saving
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:28:19 +0200] rev 4005
sqlcache: cache OperationError when saving This is a cache, so we should not crash when trying to operate on it. OperationError can happens when the database is seen as readonly or locked.
Mon, 27 Aug 2018 00:18:06 +0200 sqlcache: passe better connection option
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:18:06 +0200] rev 4004
sqlcache: passe better connection option These new options should help with handling transaction consistency and database access on high load.
Sun, 26 Aug 2018 20:55:26 +0200 contrib: introduce a small script to stress tests obsolescence exchange
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Aug 2018 20:55:26 +0200] rev 4003
contrib: introduce a small script to stress tests obsolescence exchange Tester have been reporting some error that seems to originate from concurrent access/update to the cache. This script will be useful to reproduce these situations locally.
Tue, 21 Aug 2018 14:09:33 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 14:09:33 +0200] rev 4002
test-compat: merge mercurial-4.4 into mercurial-4.3
Tue, 21 Aug 2018 13:59:27 +0200 test: adjust glob in previous changeset mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:59:27 +0200] rev 4001
test: adjust glob in previous changeset I forgot to glob the time.
(0) -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 tip