Thu, 20 Apr 2017 11:40:08 +0200 checkheads: do not overwrite code for Mercurial 4.2 and above stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 11:40:08 +0200] rev 2274
checkheads: do not overwrite code for Mercurial 4.2 and above The fix has been ported to Mercurial core as c6cb21ddf74a.
Thu, 20 Apr 2017 00:21:13 +0900 legacy: fix debugrecordpruneparents to call obsstore.create() with keywords stable
Yuya Nishihara <yuya@tcha.org> [Thu, 20 Apr 2017 00:21:13 +0900] rev 2273
legacy: fix debugrecordpruneparents to call obsstore.create() with keywords It appears the API was changed twice in Mercurial at - 570f87422f54 "obsstore: add an explicit `date` argument to obsstore.create" - adb3798dce49 "obsstore: add a `parents` argument to obsstore.create" and metadata would be changed to a list of (key, value) pairs. Convert it back to a dict as expected by create().
Wed, 19 Apr 2017 21:17:43 +0900 template: adapt to new showlist() API introduced by hg e5eab0fe69ee stable
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Apr 2017 21:17:43 +0900] rev 2272
template: adapt to new showlist() API introduced by hg e5eab0fe69ee
Wed, 19 Apr 2017 21:12:09 +0900 template: pass all mapping data to showlist() stable
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Apr 2017 21:12:09 +0900] rev 2271
template: pass all mapping data to showlist() Otherwise a keyword depending on repo or ctx couldn't be rendered.
Wed, 19 Apr 2017 21:37:28 +0900 make: merge recipes for help stable
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Apr 2017 21:37:28 +0900] rev 2270
make: merge recipes for help
Wed, 19 Apr 2017 21:34:03 +0900 make: fix indent of ifeq-endif stable
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Apr 2017 21:34:03 +0900] rev 2269
make: fix indent of ifeq-endif ifeq() can't be a recipe.
Sat, 08 Apr 2017 12:48:20 +0200 tests: update test to match upstreamable version stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 08 Apr 2017 12:48:20 +0200] rev 2268
tests: update test to match upstreamable version Name have been clarified, documentation has been updated and some test-case have been updated to match the intended test.
Sat, 08 Apr 2017 12:45:39 +0200 tests: fix directory names in exchange-D4 test stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 08 Apr 2017 12:45:39 +0200] rev 2267
tests: fix directory names in exchange-D4 test The test is based on another one and the directory name had not been updated.
Sat, 08 Apr 2017 12:43:36 +0200 tests: fix directory names in exchange-D3 test stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 08 Apr 2017 12:43:36 +0200] rev 2266
tests: fix directory names in exchange-D3 test The test is based on another one and the directory name had not been updated.
Sat, 01 Apr 2017 12:45:18 +0200 merge back with default
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 01 Apr 2017 12:45:18 +0200] rev 2265
merge back with default
Fri, 31 Mar 2017 15:51:58 +0200 Added tag 6.0.0 for changeset 165ad227993d stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 15:51:58 +0200] rev 2264
Added tag 6.0.0 for changeset 165ad227993d
Fri, 31 Mar 2017 15:51:27 +0200 packaging: prepare version 6.0.0 stable 6.0.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 15:51:27 +0200] rev 2263
packaging: prepare version 6.0.0
Fri, 31 Mar 2017 15:47:31 +0200 merged with future 6.0 mercurial-3.8
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 15:47:31 +0200] rev 2262
merged with future 6.0 No output changed.
Fri, 31 Mar 2017 15:44:10 +0200 test-compat-hg-3.9: merge with future 6.0 mercurial-3.9
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 15:44:10 +0200] rev 2261
test-compat-hg-3.9: merge with future 6.0
Fri, 31 Mar 2017 15:39:20 +0200 merge with future 6.0.0 mercurial-4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 15:39:20 +0200] rev 2260
merge with future 6.0.0
Fri, 31 Mar 2017 15:33:59 +0200 merge with default stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 15:33:59 +0200] rev 2259
merge with default We are getting close to cutting a 6.0.0
Fri, 31 Mar 2017 14:50:50 +0200 readme: mention the fix for issue4354
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 14:50:50 +0200] rev 2258
readme: mention the fix for issue4354
Fri, 31 Mar 2017 15:02:39 +0200 checkheads: add a small debug message in case were we give up fast
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 15:02:39 +0200] rev 2257
checkheads: add a small debug message in case were we give up fast When node is unknown we assume it will stay. Yet, we might have markers to it that are going to be pushed. However, we do not have branch (ancestors) information unless we are very lucky an all of them are pruned. So for now we do not do anything assuming this will be rare. We still add a small debug message to help detecting such situation in the future.
Fri, 31 Mar 2017 13:46:51 +0200 checkheahds: switch algorithm to use pushed markers instead
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 13:46:51 +0200] rev 2256
checkheahds: switch algorithm to use pushed markers instead We now checks if markers involved in the push are relevant to nodes in the branch we try to replace. The approach is simpler and more robust. A test showing the limitation of the previous approach is added.
Fri, 31 Mar 2017 13:47:14 +0200 checkheads: add test where the rewrite of the other branch is not direct
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 13:47:14 +0200] rev 2255
checkheads: add test where the rewrite of the other branch is not direct This will help testing that our logic is properly transitive.
Fri, 31 Mar 2017 13:45:26 +0200 check-heads: add tests about old heads indirectly pruned
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 13:45:26 +0200] rev 2254
check-heads: add tests about old heads indirectly pruned
Wed, 29 Mar 2017 17:50:33 +0200 checkheads: add more complexe case where a branch is split on multiple ones
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 29 Mar 2017 17:50:33 +0200] rev 2253
checkheads: add more complexe case where a branch is split on multiple ones We extend case A-6 and A-7 with partial counterpart. These case are interesting because some of the partial pushing will (rightfully) works and some other won't.
Wed, 29 Mar 2017 17:35:55 +0200 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 29 Mar 2017 17:35:55 +0200] rev 2252
checkheads: add a test of partially pushing a branch spread on multiple other If a branch is fully obsolete but is result are spread on multiple branch, pushing only one of them should detect we create new branches.
Fri, 31 Mar 2017 13:42:28 +0200 checkheads-tests: add missing parents recording for prune markers
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 31 Mar 2017 13:42:28 +0200] rev 2251
checkheads-tests: add missing parents recording for prune markers It is a bit too easy to forget about theses :/ If they are missing, the markers are not going to be exchanged on push.
Wed, 29 Mar 2017 14:02:46 +0200 checkheads: add some extra tests about "partial push"
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 29 Mar 2017 14:02:46 +0200] rev 2250
checkheads: add some extra tests about "partial push" This adds a couple of test that checks that the head replacement code is properly ignored replacement not relevant to the push.
Wed, 29 Mar 2017 15:48:27 +0200 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 29 Mar 2017 15:48:27 +0200] rev 2249
checkheads: handle partial obsolescence We now properly detects situations were only parts of the remote branch is obsoleted. To do so, we process children in the branch recursively to see if they will be obsolete. The current code has some trouble when the remote branch in unknown locally, or when the prune happened on a successors that is not relevant to the push. These case will be handled later. The processing code is becoming more and more complex, a lighter approach would be to check for the obsolescence markers that are relevant to the pushed set, but I prefer to stick with the current approach until more test cases are written.
Wed, 29 Mar 2017 16:41:42 +0200 test: force a push in inhibit's test
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 29 Mar 2017 16:41:42 +0200] rev 2248
test: force a push in inhibit's test Our checkheads detection code is becoming better and will prevent that push. As we do not care about this for inhibit, we simply force the push.
Tue, 21 Mar 2017 12:30:53 +0100 checkheads: basic handling of pruned heads (and associated tests)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 21 Mar 2017 12:30:53 +0100] rev 2247
checkheads: basic handling of pruned heads (and associated tests) We now detect that heads was pruned and stop warning about it. Note that this has the same shortcoming as the existing code and only looks at the heads.
Wed, 29 Mar 2017 16:28:15 +0200 checkheads: give up on processing locally unknown changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 29 Mar 2017 16:28:15 +0200] rev 2246
checkheads: give up on processing locally unknown changeset There are too many issue with locally unknown changesets, we ignore them for now while we get the core feature of the detection working.
Tue, 21 Mar 2017 23:44:30 +0100 checkheads: import our own copy of the checkheads code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 21 Mar 2017 23:44:30 +0100] rev 2245
checkheads: import our own copy of the checkheads code I expect enough change and experimental will be made that is it worthwhile having them done in evolution close to the rest of the exchange tests make sense.
Sun, 26 Mar 2017 04:59:36 +0200 compat: work around some filecache bug in 3.8
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 26 Mar 2017 04:59:36 +0200] rev 2244
compat: work around some filecache bug in 3.8 We are still compatible with this version.
Fri, 24 Mar 2017 18:21:48 +0100 obshashrange: have an half descent wireprotocol command
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 18:21:48 +0100] rev 2243
obshashrange: have an half descent wireprotocol command The previous implementation was extremely hacky. The new version is based on the other discovery function and work!
Fri, 24 Mar 2017 18:37:03 +0100 obshashrange: improve message issued during discovery
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 18:37:03 +0100] rev 2242
obshashrange: improve message issued during discovery This is a minor new message that help to understand what is going on.
Fri, 24 Mar 2017 18:28:01 +0100 obshashrange: introduce basic sqlite caching
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 18:28:01 +0100] rev 2241
obshashrange: introduce basic sqlite caching Same as for stablerange, this is far from perfect but already a win. The cache is currently extremely volatile, but that will still be a win when doing multiple consecutive request during discovery. Better cache invalidation will happens "in the future".
Fri, 24 Mar 2017 15:57:54 +0100 stablerange: warm cache before using it server side
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 15:57:54 +0100] rev 2240
stablerange: warm cache before using it server side We make sure the cache is fully up to date before starting to use it. Updating all value is more efficient and this give us a single point where we update and write on disk. Hopefully the cache have been kept up to date as we go anyway.
Fri, 24 Mar 2017 15:57:08 +0100 stablerange: warm cache before using it in findrangemissing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 15:57:08 +0100] rev 2239
stablerange: warm cache before using it in findrangemissing We make sure the cache is fully up to date before starting to use it. Updating all value is more efficient and this give us a single point where we update and write on disk. Hopefully the cache have been kept up to date as we go anyway.
Fri, 24 Mar 2017 15:56:57 +0100 stablerange: warm cache on transaction (if obshashrange is enabled)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 15:56:57 +0100] rev 2238
stablerange: warm cache on transaction (if obshashrange is enabled) If we plan to use it (obshashrange is enabled) we better keep it up to date. If a transaction adds node, we update the cache (this should also update the on disk version).
Fri, 24 Mar 2017 16:05:28 +0100 stablerange: introduce ondisk caching through sqlite
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 16:05:28 +0100] rev 2237
stablerange: introduce ondisk caching through sqlite There is many short cut and limitation with this first version of a cache but this allow use to envision some actual usage of the stablerange thingy so let us got for it.
Fri, 24 Mar 2017 18:41:55 +0100 stablerange: drop the cache on 'destroyed'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 18:41:55 +0100] rev 2236
stablerange: drop the cache on 'destroyed' if the repository have been strip, the cache is not usable as is. We could be smarter in the invalidation but that is a prototype anyway. G: changed hgext3rd/evolve/stablerange.py
Fri, 24 Mar 2017 11:27:56 +0100 stablerange: support loading the cache iteratively
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 11:27:56 +0100] rev 2235
stablerange: support loading the cache iteratively We record how far we loaded so that we can resume from this point.
Fri, 24 Mar 2017 11:20:42 +0100 stablerange: add some basic documentation about the cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 11:20:42 +0100] rev 2234
stablerange: add some basic documentation about the cache
Fri, 24 Mar 2017 11:18:01 +0100 stablerange: warmup all upto a revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 11:18:01 +0100] rev 2233
stablerange: warmup all upto a revision Let us start doing more systemic warming of the cache before we start writing things out. This prepare on disk caching.
Fri, 24 Mar 2017 10:22:38 +0100 debugstablerange: add a --verify flag to the command
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 10:22:38 +0100] rev 2232
debugstablerange: add a --verify flag to the command This should help us finding bugs.
Fri, 24 Mar 2017 10:12:02 +0100 stablerange: add a proper debugstablerange commands
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 10:12:02 +0100] rev 2231
stablerange: add a proper debugstablerange commands This commands allows to inspect the standard stable range of a range. That should come handy.
Fri, 24 Mar 2017 09:49:03 +0100 debugobshashrange: add a --subranges option
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:49:03 +0100] rev 2230
debugobshashrange: add a --subranges option We stop displaying -everything- by default, since is is usually very large. This will help getting better timing when measuring cache effect too, since we won't need to dig out deep cache value that real life usage would not touch.
Fri, 24 Mar 2017 09:42:39 +0100 debug: rename 'debugstablerange' to 'debugobshashrange'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:42:39 +0100] rev 2229
debug: rename 'debugstablerange' to 'debugobshashrange' The command is more about the 'obshashrange' computation.
Fri, 24 Mar 2017 09:40:50 +0100 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:40:50 +0100] rev 2228
debugstablerange: improve output spacing On repo with a descent amount of changeset the number where overflowing in all directions. We give use more room now.
Fri, 24 Mar 2017 09:21:05 +0100 subranges: add a utility function to set the cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:21:05 +0100] rev 2227
subranges: add a utility function to set the cache This is preparing on disk persistence for the value in this cache.
Fri, 24 Mar 2017 09:18:50 +0100 subranges: add a utility function to access the cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:18:50 +0100] rev 2226
subranges: add a utility function to access the cache This is preparing on disk persistence for the value in this cache.
Fri, 24 Mar 2017 09:15:18 +0100 depth: add a utility function to set the cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:15:18 +0100] rev 2225
depth: add a utility function to set the cache This is preparing on disk persistence for the value in this cache.
Fri, 24 Mar 2017 09:01:25 +0100 depth: add a utility function to access the cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:01:25 +0100] rev 2224
depth: add a utility function to access the cache This is preparing on disk persistence for the value in this cache.
Fri, 24 Mar 2017 03:20:29 +0100 stablerange: add warming of the subrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 03:20:29 +0100] rev 2223
stablerange: add warming of the subrange Note that this means we build standard stable subrange for all changesets in the repository this is significantly more than what we were computing before and result is significantly more ranges being computed.
Fri, 24 Mar 2017 11:04:38 +0100 stablerange: fix merge slicing when range has multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 11:04:38 +0100] rev 2222
stablerange: fix merge slicing when range has multiple roots The first element in the bottom set is not necessarly the one with the lowest revision. We now properly compute and use the minimum value.
Fri, 24 Mar 2017 09:04:34 +0100 stablerange: small style fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 09:04:34 +0100] rev 2221
stablerange: small style fix
Fri, 24 Mar 2017 08:16:00 +0100 merge-slicing: introduce and use "inheritance point" for merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 08:16:00 +0100] rev 2220
merge-slicing: introduce and use "inheritance point" for merge The first part of the stable sorted list of revision of a merge will shared with the one of others. This means we can reuse subranges computed from that point to compute some of the subranges from the merge. That point is latest point in the stable sorted list where the depth of the revisions match its index (that means all revision earlier in the stable sorted list are its ancestors, no dangling unrelated branches exists). This is a bit expensive to find since we have to walk all the revision, but being able to reuse subranges in all case (not just regular changesets) provide a massive speedup so the cost is worth it.
Fri, 24 Mar 2017 08:31:10 +0100 stablerange: rearrange the code picking subrange to warm
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 08:31:10 +0100] rev 2219
stablerange: rearrange the code picking subrange to warm Same logic, as the previous changesets, we prepare the code before adding merge support.
Fri, 24 Mar 2017 08:20:36 +0100 stablerange: rearrange the reusing logic to prepare to merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 08:20:36 +0100] rev 2218
stablerange: rearrange the reusing logic to prepare to merge We'll soon be able to reuse some lower range when dealing with merge too. So we prepare the code for this in advance for clarity.
Fri, 24 Mar 2017 06:24:02 +0100 merge-slicing: explain an alternative implementation in a comments
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 06:24:02 +0100] rev 2217
merge-slicing: explain an alternative implementation in a comments It has a better time complexity so a C implementation would likely out perform the current implementation
Fri, 24 Mar 2017 06:36:12 +0100 merge-slicing: use reachable roots to filter the various branches
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 06:36:12 +0100] rev 2216
merge-slicing: use reachable roots to filter the various branches Reachable roots does what we want and have a quite fast C implementation.
Fri, 24 Mar 2017 05:51:20 +0100 merge-slicing: simplify various aspect of the code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 05:51:20 +0100] rev 2215
merge-slicing: simplify various aspect of the code Especially the case were the bottom have single heads is not more efficiently handled.
Thu, 23 Mar 2017 14:17:15 +0100 stablerange: soon it will not provide any benefit and it gets in the way
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 14:17:15 +0100] rev 2214
stablerange: soon it will not provide any benefit and it gets in the way This was a bit strange and memory consuming anyway.
Fri, 24 Mar 2017 06:31:32 +0100 revsfromrange: reuse information from the stablesort
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 06:31:32 +0100] rev 2213
revsfromrange: reuse information from the stablesort We collaborate with the stablesort to store the order that led to a merge. That way, when we needs to retrieve revision from that merge we can reuse that order. We might need to filter to only retains ancestors of the merge we care about but skipping the stablesort safe a large amount of time.
Fri, 24 Mar 2017 03:22:56 +0100 stablesort: allow a callback to be triggered on merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 03:22:56 +0100] rev 2212
stablesort: allow a callback to be triggered on merge Storing some information as we sort is going to be useful to avoid performing multiple sort while computing the stablerange.
Fri, 24 Mar 2017 03:33:36 +0100 minor simplification around rangelength
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 03:33:36 +0100] rev 2211
minor simplification around rangelength
Fri, 24 Mar 2017 03:30:14 +0100 more explicite name in revsfromrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 03:30:14 +0100] rev 2210
more explicite name in revsfromrange
Fri, 24 Mar 2017 05:15:25 +0100 stablerange: cache parents
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 24 Mar 2017 05:15:25 +0100] rev 2209
stablerange: cache parents We happens to be doing and awful amount of parent call. We cache them locally for efficiency.
Thu, 23 Mar 2017 12:53:39 +0100 merge-slicing: avoid doing the same work twice
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 12:53:39 +0100] rev 2208
merge-slicing: avoid doing the same work twice We have already computed the list of revision in that bottom slice as 'hrevs' so we do not need to compute it a second time.
Thu, 23 Mar 2017 14:16:43 +0100 stablerange: fix a bug when a top slice ended on a merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 14:16:43 +0100] rev 2207
stablerange: fix a bug when a top slice ended on a merge Our "smart" detection of merge was buggy if the top slice ended on a merge. This is not fixed and tested.
Thu, 23 Mar 2017 10:49:03 +0100 slicesrangeat: stop double setting the revsinranges cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 10:49:03 +0100] rev 2206
slicesrangeat: stop double setting the revsinranges cache The cache should have already been filled by the logic warming the cache for the parent.
Thu, 23 Mar 2017 10:44:12 +0100 subranges: remove the recursivity of the call to isubranges(parentrange)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 10:44:12 +0100] rev 2205
subranges: remove the recursivity of the call to isubranges(parentrange) We add some logic to ensure we'll have hot cache for the parent ranges when that matters, the cache is filled from ancestors to descendant to ensure this. The range are still 'created from descendant to ancestors to fill the revsfromrange cache since it important.
Thu, 23 Mar 2017 10:19:59 +0100 subranges: detach cache logic from computation logic
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 10:19:59 +0100] rev 2204
subranges: detach cache logic from computation logic Having both the logic around cache checking and setting makes is a bit harder to follow. In addition, this allow to gather the computation logic next to the other related function.
Thu, 23 Mar 2017 10:07:21 +0100 findmissingrange: properly queue new subrange for slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 10:07:21 +0100] rev 2203
findmissingrange: properly queue new subrange for slicing The previous code was buggy and used the wrong variable leading to no extra slicing being performed to file the sample at the requested size.
Thu, 23 Mar 2017 10:06:20 +0100 findmissingrange: fix reversed value in debug output
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 10:06:20 +0100] rev 2202
findmissingrange: fix reversed value in debug output "oops"
Wed, 22 Mar 2017 22:05:30 +0100 stablecache: warmup on unfiltered repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 22:05:30 +0100] rev 2201
stablecache: warmup on unfiltered repository We only looks at ancestors revision so filtering will not have any effect. This reduce overhead from the filtering.
Wed, 22 Mar 2017 21:11:35 +0100 stablerange: rename the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:11:35 +0100] rev 2200
stablerange: rename the class This is much more than just a cache now.
Thu, 23 Mar 2017 09:40:04 +0100 stablerange: do not inherit from dict
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Mar 2017 09:40:04 +0100] rev 2199
stablerange: do not inherit from dict This seems like and old cargo cult that when unnoticed.
Wed, 22 Mar 2017 21:10:01 +0100 stablerange: move a utility function around
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:10:01 +0100] rev 2198
stablerange: move a utility function around It make more sense to have this small function earlier in the series
Wed, 22 Mar 2017 21:09:28 +0100 stablerange: remove the now unused individual range class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:09:28 +0100] rev 2197
stablerange: remove the now unused individual range class That class is now longer necessary, we dropped its usage for performance reason.
Wed, 22 Mar 2017 21:08:58 +0100 stablerange: directly use tuple to refer to a stable range
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:08:58 +0100] rev 2196
stablerange: directly use tuple to refer to a stable range Now that all advance logic lives in the unified class we no longer needs the individual class. Creating and operating on this cache introduce a significant overhead that we can not stop having. From now on, a range a is pair tuple '(headrev, index)'. Long live the tuple.
Wed, 22 Mar 2017 21:28:18 +0100 obshash: properly cache obshash value
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 21:28:18 +0100] rev 2195
obshash: properly cache obshash value The code was buggy and only cached non-nullid/non-inherited value. This was previous hidden because we were using a 'propertycache' to cache the value on the range object. This fixes it and restore a lot of performance.
Wed, 22 Mar 2017 20:59:42 +0100 stablerange: directly use 'self' when possible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:59:42 +0100] rev 2194
stablerange: directly use 'self' when possible Code movement introduced multiple silly case were we where accessing 'self' though 'repo.stablerange' for no good reasons.
Wed, 22 Mar 2017 20:56:17 +0100 revsfromrange: set the cache for the multiple bottom ranges in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:56:17 +0100] rev 2193
revsfromrange: set the cache for the multiple bottom ranges in merge slicing We no longer rely on the object magic here.
Wed, 22 Mar 2017 20:55:43 +0100 revsfromrange: set the cache for the single bottom range in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:55:43 +0100] rev 2192
revsfromrange: set the cache for the single bottom range in merge slicing We no longer rely on the object magic here.
Wed, 22 Mar 2017 20:55:23 +0100 revsfromrange: set the cache for the top range in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:55:23 +0100] rev 2191
revsfromrange: set the cache for the top range in merge slicing We no longer rely on the object magic here.
Wed, 22 Mar 2017 20:44:29 +0100 revsfromrange: remove reference to '_revs' in merge slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:44:29 +0100] rev 2190
revsfromrange: remove reference to '_revs' in merge slicing Given '_revs' is a property from the cache, we use the official method of the object we are on instead. That method should be using the same cache than the property if available.
Wed, 22 Mar 2017 20:37:27 +0100 revsfromcache: update cache for the top slice if possible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:37:27 +0100] rev 2189
revsfromcache: update cache for the top slice if possible Same logic, we update the cache if have the data.
Wed, 22 Mar 2017 20:37:03 +0100 revsfromrange: skip setting the cache for length-1 top entry
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:37:03 +0100] rev 2188
revsfromrange: skip setting the cache for length-1 top entry The content of the range is trivial to compute.
Wed, 22 Mar 2017 20:36:19 +0100 revsfromrange: update cache for parentrange directly in the code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:36:19 +0100] rev 2187
revsfromrange: update cache for parentrange directly in the code We update it where it matters if we detect that we have the data.
Wed, 22 Mar 2017 20:34:07 +0100 revsfromramge: hard code the single changeset range case
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:34:07 +0100] rev 2186
revsfromramge: hard code the single changeset range case That case is trivial and triggering and full stable sort for it seems a bit silly.
Wed, 22 Mar 2017 20:18:01 +0100 stablerange: introduce caching for the full revision in a set
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:18:01 +0100] rev 2185
stablerange: introduce caching for the full revision in a set Such cache proved handy in the "per-range" class so we carry it along to the unified class. cf documentation for details.
Wed, 22 Mar 2017 20:11:19 +0100 stablerange: add a cache for stablesort ordering
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:11:19 +0100] rev 2184
stablerange: add a cache for stablesort ordering This will be very handy for merge, cf inline documentation for details.
Wed, 22 Mar 2017 20:05:21 +0100 stablerange: move revs computation within the main class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:05:21 +0100] rev 2183
stablerange: move revs computation within the main class We still need to compute the revision withing a range when we slice a merge. This is the last large logic that remains in the individual class and we migrate is on the main class.
Wed, 22 Mar 2017 19:42:37 +0100 stablerange: minor method reorders on the main class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:42:37 +0100] rev 2182
stablerange: minor method reorders on the main class We put the public method first for clarify.
Wed, 22 Mar 2017 19:30:23 +0100 stablerange: drop "key" and "id" logic form the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:30:23 +0100] rev 2181
stablerange: drop "key" and "id" logic form the class We can restrict to the bare minimun for equality and hashing now.
Wed, 22 Mar 2017 19:28:14 +0100 stablerange: drop length from the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:28:14 +0100] rev 2180
stablerange: drop length from the class There is not remaining user.
Wed, 22 Mar 2017 19:26:40 +0100 stablerange: drop _depth
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:26:40 +0100] rev 2179
stablerange: drop _depth Nothing uses it anymore.
Wed, 22 Mar 2017 19:25:12 +0100 stablerange: drop __repr__
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:25:12 +0100] rev 2178
stablerange: drop __repr__ IT was used for debug and the class is on it way out.
Wed, 22 Mar 2017 19:23:32 +0100 stablerange: drop the subranges method on the small class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:23:32 +0100] rev 2177
stablerange: drop the subranges method on the small class Nobody use it anymore.
Wed, 22 Mar 2017 19:21:41 +0100 stablerange: use subranges from the main class in subrangesclosure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:21:41 +0100] rev 2176
stablerange: use subranges from the main class in subrangesclosure This is the last method used on the class.
Wed, 22 Mar 2017 19:21:18 +0100 stablerange: use subranges from the main class in _obshashrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:21:18 +0100] rev 2175
stablerange: use subranges from the main class in _obshashrange This is the last method used on the class.
Wed, 22 Mar 2017 19:20:30 +0100 stablerange: use subranges from the main class in findrangemissing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:20:30 +0100] rev 2174
stablerange: use subranges from the main class in findrangemissing This is the last method used on the class.
Wed, 22 Mar 2017 18:55:26 +0100 stablerange: make sure nobody use '.depth' anymore
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:55:26 +0100] rev 2173
stablerange: make sure nobody use '.depth' anymore
Wed, 22 Mar 2017 18:54:45 +0100 stablerange: use depthrevs in range slicing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:54:45 +0100] rev 2172
stablerange: use depthrevs in range slicing We stop using the property from the class to get us closer to tuple.
Wed, 22 Mar 2017 18:53:25 +0100 stablerange: use depthrevs in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:53:25 +0100] rev 2171
stablerange: use depthrevs in debugstablerange We stop using the property from the class to get us closer to tuple.
Wed, 22 Mar 2017 18:41:26 +0100 stablerange: use rangelength inside the class itself
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:41:26 +0100] rev 2170
stablerange: use rangelength inside the class itself We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:40:54 +0100 stablerange: use rangelength in '_slicesatrange'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:40:54 +0100] rev 2169
stablerange: use rangelength in '_slicesatrange' We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:40:19 +0100 stablerange: use rangelength in '_slicepoint'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:40:19 +0100] rev 2168
stablerange: use rangelength in '_slicepoint' We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:39:47 +0100 stablerange: use rangelength in subrangesclosure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:39:47 +0100] rev 2167
stablerange: use rangelength in subrangesclosure We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:37:11 +0100 stablerange: use rangelength in _obshashrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:37:11 +0100] rev 2166
stablerange: use rangelength in _obshashrange We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:36:37 +0100 stablerange: use rangelength in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:36:37 +0100] rev 2165
stablerange: use rangelength in debugstablerange We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 18:35:05 +0100 stablerange: use rangelength in findmissingrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:35:05 +0100] rev 2164
stablerange: use rangelength in findmissingrange We stop using the building '__len__' this get use closer to be able to use a tuple.
Wed, 22 Mar 2017 17:59:21 +0100 stablerange: make sure nobody use '.index' anymore
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:59:21 +0100] rev 2163
stablerange: make sure nobody use '.index' anymore We rename the attribute for good measure.
Wed, 22 Mar 2017 17:57:04 +0100 stablerange: stop using '.index' inside the class itself
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:57:04 +0100] rev 2162
stablerange: stop using '.index' inside the class itself We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:55:57 +0100 stablerange: stop using '.index' in '_slicesrangeat'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:55:57 +0100] rev 2161
stablerange: stop using '.index' in '_slicesrangeat' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:53:39 +0100 stablerange: stop using '.index' in '_slicepoint'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:53:39 +0100] rev 2160
stablerange: stop using '.index' in '_slicepoint' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:52:53 +0100 stablerange: stop using '.index' in 'rangelength'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:53 +0100] rev 2159
stablerange: stop using '.index' in 'rangelength' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:52:29 +0100 stablerange: stop using '.index' in '_queryrange'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:29 +0100] rev 2158
stablerange: stop using '.index' in '_queryrange' We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:52:08 +0100 stablerange: stop using '.index' in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:08 +0100] rev 2157
stablerange: stop using '.index' in debugstablerange We now access '[1]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:48:39 +0100 stablerange: make sure nobody use the 'stablekey' property outside the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:48:39 +0100] rev 2156
stablerange: make sure nobody use the 'stablekey' property outside the class
Wed, 22 Mar 2017 17:47:09 +0100 stablerange: make sure nobody use '.head' anymore
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:47:09 +0100] rev 2155
stablerange: make sure nobody use '.head' anymore We rename the attribute for good measure.
Wed, 22 Mar 2017 17:45:39 +0100 stablerange: stop using '.head' inside the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:45:39 +0100] rev 2154
stablerange: stop using '.head' inside the class We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:45:21 +0100 stablerange: stop using '.head' in '_slicesrangeat'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:45:21 +0100] rev 2153
stablerange: stop using '.head' in '_slicesrangeat' We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:44:10 +0100 stablerange: stop using '.head' in '_slicepoint'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:44:10 +0100] rev 2152
stablerange: stop using '.head' in '_slicepoint' We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:43:36 +0100 stablerange: stop using '.head' in rangelength
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:43:36 +0100] rev 2151
stablerange: stop using '.head' in rangelength We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:43:18 +0100 stablerange: stop using '.head' in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:43:18 +0100] rev 2150
stablerange: stop using '.head' in debugstablerange We now access '[0]' as we'll do with the future tuple.
Wed, 22 Mar 2017 17:38:28 +0100 stablerange: remove node unused 'node' property
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:38:28 +0100] rev 2149
stablerange: remove node unused 'node' property Close to killing that object.
Wed, 22 Mar 2017 17:35:08 +0100 stablerange: stop using '.node' in __repr__
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:35:08 +0100] rev 2148
stablerange: stop using '.node' in __repr__ This remove the last user to this method.
Wed, 22 Mar 2017 17:33:41 +0100 stablerange: change the key to use the revision number
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:33:41 +0100] rev 2147
stablerange: change the key to use the revision number Using node is more stable but for now do not have on disk caching and revision number should be find in memory. This makes the data used for the file cache closer to what it will be when we use tuple. We might reintroduce node in the future but let us keep it simple for now.
Wed, 22 Mar 2017 06:05:44 +0100 stablerange: stop using '.node' in _queryrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:05:44 +0100] rev 2146
stablerange: stop using '.node' in _queryrange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:05:32 +0100 stablerange: stop using '.node' in debugstablerange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:05:32 +0100] rev 2145
stablerange: stop using '.node' in debugstablerange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:04:30 +0100 stablerange: stop using '.node' in findmissingrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:04:30 +0100] rev 2144
stablerange: stop using '.node' in findmissingrange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:03:57 +0100 stablerange: stop using '.node' in obshashrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:03:57 +0100] rev 2143
stablerange: stop using '.node' in obshashrange We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 06:02:45 +0100 stablerange: stop using '.node' in subrangesclosure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:02:45 +0100] rev 2142
stablerange: stop using '.node' in subrangesclosure We access the range-head revision number by index and convert it on site.
Wed, 22 Mar 2017 05:15:49 +0100 stablerange: have the class behave as a tuple
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:15:49 +0100] rev 2141
stablerange: have the class behave as a tuple If we want people to use a tuple, we should offer them a tuple. This should help update most of the code iteratively.
Wed, 22 Mar 2017 05:44:39 +0100 obshashrange: extract computation back into the discovery module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:44:39 +0100] rev 2140
obshashrange: extract computation back into the discovery module This obshash is related to discovery and it seems more appropriate to have to live there. This remove the last large piece of logic from the class. We'll now be able to slowly turn it into a tuple.
Wed, 22 Mar 2017 05:36:45 +0100 obshashrange: use a small utility function to access the obshash
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:36:45 +0100] rev 2139
obshashrange: use a small utility function to access the obshash If we want the object to disappear we needs the top level code to stop accessing its attribute.
Wed, 22 Mar 2017 05:32:25 +0100 debugstablerange: minor code reformat
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:32:25 +0100] rev 2138
debugstablerange: minor code reformat The content of that list will become more complex as we drop the object so we make sure to have one value per line for clarity.
Wed, 22 Mar 2017 05:09:21 +0100 stablerange: move the subrangesclosure inside the module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:09:21 +0100] rev 2137
stablerange: move the subrangesclosure inside the module This seems more suitable and open the way to simple update of how we build things without too much impact outside the module. The debug command is still in the 'obsdiscovery' module because it also deal to obshash and I'm not sure of were this should live yet.
Sun, 19 Mar 2017 05:33:52 +0100 stablerange: compute subranges from parent when possible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 05:33:52 +0100] rev 2136
stablerange: compute subranges from parent when possible Unless we are a merge, we can infer the standard subranges of a range by reusing the subranger of its parent. We update the implementation to do so. We still needs the "old way" for merge. We move that code in a dedicated function for the sake of simplicity.
Wed, 22 Mar 2017 04:27:42 +0100 stablerange: add an official warmup function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 04:27:42 +0100] rev 2135
stablerange: add an official warmup function The function is responsible for making sure we have the necessary data for a sets of heads. For now this only warm the depth cache. More will follow soon. Such explicite warmup will be usefull for on disck caching as an early point of writing will be easier.
Sun, 19 Mar 2017 04:47:31 +0100 stablerange: remove now unnecessary setter
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:47:31 +0100] rev 2134
stablerange: remove now unnecessary setter The class is handling all computations and cache access by itself now. So we can drop this method.
Sun, 19 Mar 2017 04:45:28 +0100 stablerange: directly perform slicing in the getting method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:45:28 +0100] rev 2133
stablerange: directly perform slicing in the getting method Now that all necessary functions are available, we simply apply the standard slicing on cache miss and proceed.
Sun, 19 Mar 2017 04:43:33 +0100 stablerange: move standard slice point definition in main class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:43:33 +0100] rev 2132
stablerange: move standard slice point definition in main class More migration of code away from the doomed individual class.
Sun, 19 Mar 2017 04:39:00 +0100 stablerange: move the slicing method on the central class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:39:00 +0100] rev 2131
stablerange: move the slicing method on the central class We migrate code away for the individual range class.
Sun, 19 Mar 2017 03:07:01 +0100 stablerange: move the range class in the new module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 03:07:01 +0100] rev 2130
stablerange: move the range class in the new module Our ultimate goal is to remove this class for performance reason. however for now, it contains most of the code we care about so we migrate it as a block first.
Sun, 19 Mar 2017 03:06:53 +0100 stablesort: move into the stablerange module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 03:06:53 +0100] rev 2129
stablesort: move into the stablerange module The stable range rely on the stable sort so it make senses to move it there. Will need direct access to it in the future.
Wed, 22 Mar 2017 03:49:40 +0100 subranges: migrate handling of single element range
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:49:40 +0100] rev 2128
subranges: migrate handling of single element range This is the simplest case by far, so we start with that one. We still use the rich object as an argument, but we'll do our best to not relying on that. This is important for performance reason.
Wed, 22 Mar 2017 03:47:28 +0100 stablerange: move the subrange cache into our new class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:47:28 +0100] rev 2127
stablerange: move the subrange cache into our new class This is the first step toward having more logic in that class
Sun, 19 Mar 2017 00:44:31 +0100 depth: extract code dedicated to depth of a merge in its own function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 00:44:31 +0100] rev 2126
depth: extract code dedicated to depth of a merge in its own function The merge case is more complicated than the regular one, we extract is for the sake of clarity.
Sat, 18 Mar 2017 22:48:26 +0100 stablerange: move 'depth' inside a new 'stablerange' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 18 Mar 2017 22:48:26 +0100] rev 2125
stablerange: move 'depth' inside a new 'stablerange' module The stablerange used for discovery requires significant amount of code. There is algorithme, cache, cache persistence, etc. So we create a dedicated module for it. The function is directly moved into a rich class handling cache (for now in memory) because we know we will need it.
Wed, 22 Mar 2017 03:15:58 +0100 obsdiscovery: document the status of the module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:15:58 +0100] rev 2124
obsdiscovery: document the status of the module I figured i would be useful to document what we expect from the code in each module.
Wed, 22 Mar 2017 03:13:15 +0100 split: move the debugcommand into a dedicated module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:13:15 +0100] rev 2123
split: move the debugcommand into a dedicated module The code related to debugobsstorestat is fairly independant, we move it into its own module.
Wed, 22 Mar 2017 03:00:11 +0100 legacy: move 'debugrecordpruneparents' in the extensions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:00:11 +0100] rev 2122
legacy: move 'debugrecordpruneparents' in the extensions The transition is a couple of year old now, repository with the old format must be quite hard to find by now.
Thu, 16 Mar 2017 21:16:57 -0400 checks: correct the shebang line filtering for python files
Matt Harbison <matt_harbison@yahoo.com> [Thu, 16 Mar 2017 21:16:57 -0400] rev 2121
checks: correct the shebang line filtering for python files As it is, the only related file is docs/test2rst.py, which was covered by **.py. Not sure if it matters, but most patterns in core tests are for "#!.*?python". (Though there are a couple "#!.*python" tests.)
Thu, 16 Mar 2017 23:17:07 -0400 tests: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com> [Thu, 16 Mar 2017 23:17:07 -0400] rev 2120
tests: add glob for Windows
Tue, 21 Mar 2017 11:58:55 +0100 tests: adds simple test case for heads checking
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 21 Mar 2017 11:58:55 +0100] rev 2119
tests: adds simple test case for heads checking This is the start of some systemic testing of the head superceeding detection mechanism.
Tue, 21 Mar 2017 10:25:12 +0100 tests: move exchange utility in testlib
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 21 Mar 2017 10:25:12 +0100] rev 2118
tests: move exchange utility in testlib We have a testlib directory now lets use it.
Tue, 14 Mar 2017 16:56:48 -0700 exchange: fix some wrong reference to serveronly
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 16:56:48 -0700] rev 2117
exchange: fix some wrong reference to serveronly The function have all moved into 'obsexchange' now, so we do not need (and actually cannot) seek them in 'evolve.serveronly'.
Tue, 14 Mar 2017 15:50:43 -0700 checks: add a test that check MANIFEST.in content
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:50:43 -0700] rev 2116
checks: add a test that check MANIFEST.in content This make sure we keep the things updated.
Tue, 14 Mar 2017 15:43:19 -0700 README: add a link to mercurial devel
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:43:19 -0700] rev 2115
README: add a link to mercurial devel This will help people to find the mailing list details.
Tue, 14 Mar 2017 15:42:51 -0700 README: tries to improve the title about server only
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:42:51 -0700] rev 2114
README: tries to improve the title about server only This seems a bit better.
Tue, 14 Mar 2017 15:42:21 -0700 README: remove mention of make
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:42:21 -0700] rev 2113
README: remove mention of make Using pip in all cases seems a better direction.
Tue, 14 Mar 2017 15:02:06 -0700 version: mark the current source as development version for 6.0.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:02:06 -0700] rev 2112
version: mark the current source as development version for 6.0.0 This is useful to distinguish the development version from the latest tagged version. In this particular case, this will allow us to publish a pre-version on pypi.
Tue, 14 Mar 2017 14:52:56 -0700 mercurial-3.8: merge with future evolve-6.0.0 mercurial-3.8
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:52:56 -0700] rev 2111
mercurial-3.8: merge with future evolve-6.0.0 We introduces the new code on the compat branch to check the tests.
Tue, 14 Mar 2017 14:47:20 -0700 mercurial-3.9: merge with hg-4.0 branch mercurial-3.9
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:47:20 -0700] rev 2110
mercurial-3.9: merge with hg-4.0 branch We merge with the code for the future evolve 6.0.0 code to check for compatibility. Only minor test output change (" -> ') have been noted.
Tue, 14 Mar 2017 14:38:10 -0700 mercurial-4.0: merge with future 6.0.0 mercurial-4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:38:10 -0700] rev 2109
mercurial-4.0: merge with future 6.0.0 A new version will be released soon, we start handling mismatch in test output to make the actual release time smoother.
Tue, 14 Mar 2017 14:27:43 -0700 checks: update pyflakes matching too
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:27:43 -0700] rev 2108
checks: update pyflakes matching too We make sure to not select removed files.
Tue, 14 Mar 2017 14:19:11 -0700 checks: do not run pyflake on removed file
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:19:11 -0700] rev 2107
checks: do not run pyflake on removed file The fileset matches removed files. This confuses pyflakes for good reasons.
Tue, 14 Mar 2017 11:31:03 -0700 compat: closing mercurial-3.7 compatibility branch mercurial-3.7
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:31:03 -0700] rev 2106
compat: closing mercurial-3.7 compatibility branch The "evolve-6.0.0" release drop compatibility with Mercurial 3.7. No new commit are expected on this branch.
Tue, 14 Mar 2017 11:30:41 -0700 compat: closing mercurial-3.6 compatibility branch mercurial-3.6
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:30:41 -0700] rev 2105
compat: closing mercurial-3.6 compatibility branch The "evolve-6.0.0" release drop compatibility with Mercurial 3.6. No new commit are expected on this branch.
Tue, 14 Mar 2017 11:30:13 -0700 compat: closing mercurial-3.4 compatibility branch mercurial-3.4
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:30:13 -0700] rev 2104
compat: closing mercurial-3.4 compatibility branch The "evolve-6.0.0" release drop compatibility with Mercurial 3.4. No new commit are expected on this branch.
Tue, 14 Mar 2017 11:28:58 -0700 compat: closing mercurial-3.5 compatibility branch mercurial-3.5
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:28:58 -0700] rev 2103
compat: closing mercurial-3.5 compatibility branch The "evolve-6.0.0" release drop compatibility with mercurial 3.5. No new commit are expected on this branch.
Tue, 14 Mar 2017 11:26:55 -0700 README: timeless typo fixes
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:26:55 -0700] rev 2102
README: timeless typo fixes This applies some feedback timeless provided me from IRC.
Tue, 14 Mar 2017 09:51:25 -0700 cleanup: drop an empty section header
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 09:51:25 -0700] rev 2101
cleanup: drop an empty section header
Tue, 14 Mar 2017 09:50:55 -0700 compat: drop some <hg-3.4 compatibility code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 09:50:55 -0700] rev 2100
compat: drop some <hg-3.4 compatibility code The `hg commit` commands has a -i flag for ages now.
Mon, 13 Mar 2017 23:28:57 -0700 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 23:28:57 -0700] rev 2099
README: more update to prepare for pypi upload * mention the evolve.serveronly extension, * remove help related to topic into a different README file.
Mon, 13 Mar 2017 16:53:42 -0700 evolve: update the capabilities and commands name for obshashrange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 16:53:42 -0700] rev 2098
evolve: update the capabilities and commands name for obshashrange We makes is clear that these version are useful for earlier testing but they are not ready for any kind of real usage yet.
Mon, 13 Mar 2017 16:05:33 -0700 README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 16:05:33 -0700] rev 2097
README: more change to have a pretty rendering on pypi We moves section around and fixes some markup.
Mon, 13 Mar 2017 15:41:02 -0700 MANIFEST.in: fix various mismatch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 15:41:02 -0700] rev 2096
MANIFEST.in: fix various mismatch check-manifest is no longer complaining
Mon, 13 Mar 2017 15:33:00 -0700 README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 15:33:00 -0700] rev 2095
README: rework install instruction For both evolve and topic. The topic introduction is updated too.
Mon, 13 Mar 2017 15:09:21 -0700 README: rework the intro
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 15:09:21 -0700] rev 2094
README: rework the intro Less scary wording (similar to the wiki changes) and point to the user mailing list.
Sat, 11 Mar 2017 14:59:09 -0800 rangeobshash: minor cleanup of the obshash code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 14:59:09 -0800] rev 2093
rangeobshash: minor cleanup of the obshash code We achieved minor speedup by delaying the hashing until we know it is needed.
Sat, 11 Mar 2017 14:46:27 -0800 stablerange: remove call to 'repo.revs'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 14:46:27 -0800] rev 2092
stablerange: remove call to 'repo.revs' It turned out that the percentage of time spend parsing the revset string was two digits, so we compute de heads inline.
Sun, 12 Mar 2017 08:38:39 -0700 stablerange: reuse node calculation as much as possible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 12 Mar 2017 08:38:39 -0700] rev 2091
stablerange: reuse node calculation as much as possible We have a property cache with that value, so we just reuse it.
Sat, 11 Mar 2017 12:21:22 -0800 stablerange: adds some caching of the subranges
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 12:21:22 -0800] rev 2090
stablerange: adds some caching of the subranges The goal of subranges is to be as reusable as possible, so we cache the subrange relationship to take advantage of this.
Sat, 11 Mar 2017 12:15:56 -0800 stablerange: operate on an unfiltered repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 12:15:56 -0800] rev 2089
stablerange: operate on an unfiltered repository We only do operation on ancestors so using unfiltered is fine.
Sat, 11 Mar 2017 12:15:08 -0800 depth: use lower lever function to compute missing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 12:15:08 -0800] rev 2088
depth: use lower lever function to compute missing The time spend parsing the revset is noticeable.
Sat, 11 Mar 2017 10:26:30 -0800 depth: update depth to code to reuse ancestors depth
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 10:26:30 -0800] rev 2087
depth: update depth to code to reuse ancestors depth Computing the depth of all N revs is no longer 'O(N**2)'
Sat, 11 Mar 2017 09:08:20 -0800 obsdiscovery: extract a smarted depth in utility
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 09:08:20 -0800] rev 2086
obsdiscovery: extract a smarted depth in utility The function is reusing previous depth for ancestors unless this is a merge.
Sat, 11 Mar 2017 08:46:21 -0800 obsdiscovery: simply some of the missing computation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 08:46:21 -0800] rev 2085
obsdiscovery: simply some of the missing computation
Sun, 12 Mar 2017 08:15:14 -0700 discovery: implement some range based discovery
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 12 Mar 2017 08:15:14 -0700] rev 2084
discovery: implement some range based discovery This use the previously implemented methods to implement some discovery and fetch method using ranges. There is currently major performance issue and some aspect of the protocol will changes.
Fri, 10 Mar 2017 10:36:46 -0800 discovery: introduce a official 'obshash associated to a range
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 10 Mar 2017 10:36:46 -0800] rev 2083
discovery: introduce a official 'obshash associated to a range The hash in a combination of the hash a its subrange. If the range is a leaf, we have the obsmarker relevant to the node in that leaf range.
Thu, 09 Mar 2017 22:57:41 -0800 discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 22:57:41 -0800] rev 2082
discovery: introduce "stable slicing" methods We introduce new code that leverage the stable sorting to slices a graph in a way "stable" accross repository. This should allow us to use theses slices for obsolescence markers discovery.
Thu, 09 Mar 2017 19:18:11 -0800 discovery: adds a function doing revnum independant sorting
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 19:18:11 -0800] rev 2081
discovery: adds a function doing revnum independant sorting The function is doing a topological sort without depending on revision number. This make the sort independent of the repository and suitable for discovery.
Thu, 09 Mar 2017 18:36:46 -0800 hgignore: also ignore the 'dist' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:36:46 -0800] rev 2080
hgignore: also ignore the 'dist' directory This is generated by the 'sdist' command
Thu, 09 Mar 2017 18:31:55 -0800 obsexchange: drop unused module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:31:55 -0800] rev 2079
obsexchange: drop unused module shame shame shame
Thu, 09 Mar 2017 18:08:45 -0800 MANIFEST.in: also includes topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:08:45 -0800] rev 2078
MANIFEST.in: also includes topic That was also overlooked when we added topic.
Thu, 09 Mar 2017 18:07:58 -0800 MANIFEST.in: fix to include all evolve submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:07:58 -0800] rev 2077
MANIFEST.in: fix to include all evolve submodule This was overlooked before.
Tue, 07 Mar 2017 15:58:15 +0100 obsdiscovery: organize the code by category
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:58:15 +0100] rev 2076
obsdiscovery: organize the code by category A private function get promoted to public since another module uses it.
Thu, 09 Mar 2017 17:50:50 -0800 evolution: drop the old __temporary__.advertiseobsolete option
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 17:50:50 -0800] rev 2075
evolution: drop the old __temporary__.advertiseobsolete option Mercurial code supports such feature directly though its 'experimental.evolution' config option. So we drop the old code and config.
Thu, 09 Mar 2017 17:34:30 -0800 README: mention the 'serveronly' extensions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 17:34:30 -0800] rev 2074
README: mention the 'serveronly' extensions It is now properly installed with the package.
Thu, 09 Mar 2017 17:33:57 -0800 server only: test a more standard method of disabling exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 17:33:57 -0800] rev 2073
server only: test a more standard method of disabling exchange We have an "official" config option from core so lets just use it.
Thu, 09 Mar 2017 12:47:31 -0800 debian: don't delete evolve and topic extensions
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 Mar 2017 12:47:31 -0800] rev 2072
debian: don't delete evolve and topic extensions The debian packaging rules deletes all __init__.py to avoid conflicting with the __init__.py that declares the namespace package. Now that the evolve and topic extensions also live in __init__.py files, we clearly don't want to delete all __init__.py files anymore; only the hgext3rd/__init__.py should be deleted.
Thu, 09 Mar 2017 12:20:27 -0800 serveronly: replace exc.message with str(exc)
Arun Kulshreshtha <kulshrax@fb.com> [Thu, 09 Mar 2017 12:20:27 -0800] rev 2071
serveronly: replace exc.message with str(exc) BaseException.message is deprecated in Python 2.6, so use str() instead.
Thu, 09 Mar 2017 13:11:20 -0800 cleanup: stop using 'repo.join' methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 13:11:20 -0800] rev 2070
cleanup: stop using 'repo.join' methods These repository method might get deprecated soon. In addition, accessing the vfs-s is not that hard.
Thu, 09 Mar 2017 10:42:50 -0800 setup: add author_email
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 10:42:50 -0800] rev 2069
setup: add author_email The 'sdist' command complains about it otherwise.
Thu, 09 Mar 2017 10:42:25 -0800 readme: make it valid rst
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 10:42:25 -0800] rev 2068
readme: make it valid rst That will eventually please pypi
Thu, 09 Mar 2017 08:33:00 -0800 setup.py: remove unused and harmful code importing mercurial
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 Mar 2017 08:33:00 -0800] rev 2067
setup.py: remove unused and harmful code importing mercurial This was failing on some build system we have. The import seemed to succeed, but then mercurial.__all__ would fail. I don't know why, but since it's unused anyway, let's just drop it.
Wed, 08 Mar 2017 13:48:35 -0800 docs: update references to installation path
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Mar 2017 13:48:35 -0800] rev 2066
docs: update references to installation path
Wed, 08 Mar 2017 17:07:38 -0800 test: rename serveronly tests to reflect the new extension name
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 08 Mar 2017 17:07:38 -0800] rev 2065
test: rename serveronly tests to reflect the new extension name
Tue, 07 Mar 2017 15:52:04 +0100 evolve: stop running 'serveronly' setup
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:52:04 +0100] rev 2064
evolve: stop running 'serveronly' setup Since there is no common logic remaining the smaller extension we can stop running its setup in the main extensions
Tue, 07 Mar 2017 15:49:22 +0100 discovery: directly merge the 'obsdiscovery' exthelper in top level extensions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:49:22 +0100] rev 2063
discovery: directly merge the 'obsdiscovery' exthelper in top level extensions There is no reason to proxy it through the 'obsexchange' submodule.
Tue, 07 Mar 2017 15:47:09 +0100 compat: drop advertising of unsupported experimental bundle2 part
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:47:09 +0100] rev 2062
compat: drop advertising of unsupported experimental bundle2 part The support for this part was dropped long ago in 74bc8a0c2c02. But we forgot to remove it from the 'simple4server' extension.
Tue, 07 Mar 2017 15:45:21 +0100 exchange: dispatch all code in 'serveronly' to the appropriate submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:45:21 +0100] rev 2061
exchange: dispatch all code in 'serveronly' to the appropriate submodule All code related to exchange is now in either 'evolve.obsexchange' or 'evolve.obsdiscovery', and the 'serveronly' extension is using their 'exthelper' to set itself up. As a side effect, the 'serveronly' extensions now enable better exchange when pushing from that server too.
Wed, 08 Mar 2017 15:35:16 -0800 capabilities: properly sort capabilities after updating them
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 08 Mar 2017 15:35:16 -0800] rev 2060
capabilities: properly sort capabilities after updating them Capabilities are usually sorted. This is especially useful to avoid silly error in test.
Tue, 07 Mar 2017 15:10:57 +0100 pull: also issue warning for old mercurial version
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:10:57 +0100] rev 2059
pull: also issue warning for old mercurial version
Tue, 07 Mar 2017 15:04:58 +0100 exchange: split between modern and legacy code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:04:58 +0100] rev 2058
exchange: split between modern and legacy code We make it clearer what code is old crust and what code is the cutting edge part.
Tue, 07 Mar 2017 14:59:00 +0100 push: add extra warning about pushing to old server
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:59:00 +0100] rev 2057
push: add extra warning about pushing to old server Pushing using old method is slow and racy. We adds warning to point this to the user. We also add inline comment to clarify the function purpose.
Tue, 07 Mar 2017 14:45:02 +0100 push: exit obsexchange early if disabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:45:02 +0100] rev 2056
push: exit obsexchange early if disabled We were exiting the function later, in particular -after- issuing a message about exchanging obsmarkers.
Tue, 07 Mar 2017 14:41:53 +0100 compat: drop special code handling change in push/pull op API
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:41:53 +0100] rev 2055
compat: drop special code handling change in push/pull op API All version of Mercurial we support have the same API.
Tue, 07 Mar 2017 14:29:43 +0100 discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:29:43 +0100] rev 2054
discovery: split discovery related code in 'obsdiscovery' More code splitting for more clarity.
Tue, 07 Mar 2017 14:19:12 +0100 exchange: rename the module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:19:12 +0100] rev 2053
exchange: rename the module Let's add a 'obs' prefix to make the module role clearer.
Wed, 08 Mar 2017 23:04:45 +0100 setup.py: include all evolve submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 08 Mar 2017 23:04:45 +0100] rev 2052
setup.py: include all evolve submodule We are splitting more and more code into submodule, we make sure their are properly installed. As a side effect the 'legacy' module is now installed, that is not too important. The 'evolve.hack' package is still non installed by default, as intended.
Tue, 07 Mar 2017 09:47:37 -0800 evolve: switch away from deprecated repo.opener
Martin von Zweigbergk <martinvonz@google.com> [Tue, 07 Mar 2017 09:47:37 -0800] rev 2051
evolve: switch away from deprecated repo.opener
Tue, 07 Mar 2017 13:31:19 +0100 serveronly: use the same extensions metadata than evolve
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 13:31:19 +0100] rev 2050
serveronly: use the same extensions metadata than evolve This will avoid them to drift out of sync with evolve.
Tue, 07 Mar 2017 13:24:07 +0100 evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 13:24:07 +0100] rev 2049
evolve: move extension metadata in their own module This will allow the server only extension to reuse them. As a side effect we can now simplify the config parsing in setup.py
Tue, 07 Mar 2017 13:12:27 +0100 evolve: specify the 'minimalhgversion'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 13:12:27 +0100] rev 2048
evolve: specify the 'minimalhgversion' 3.7 added a new nice and shinny variable to help user know when they use the wrong version of Mercurial with an extension. We now use it.
Tue, 07 Mar 2017 12:27:01 +0100 serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 12:27:01 +0100] rev 2047
serveronly: give the sub extension a way to access to the 'evolve' module We keep it as clean as possible but if the extension is specified with a direct path, we have to be a bit hacky. Being able to access the whole evolve extension from the 'serveronly' extension will lift multiple constraints on how we organise the code and will allow for cleaner and clearer code. We extract a minor function into a 'utility' module to have something to depends on.
Tue, 07 Mar 2017 12:10:05 +0100 test: update test to check for various way to import the serveronly things
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 12:10:05 +0100] rev 2046
test: update test to check for various way to import the serveronly things We add a "setup script" that update the PYTHONPATH to allow direct import of the extension code. Then we tests that all way to import the extensions works.
Tue, 07 Mar 2017 12:04:05 +0100 tests: move "test setup" script into a 'testlib' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 12:04:05 +0100] rev 2045
tests: move "test setup" script into a 'testlib' directory This will avoid cluttering the tests directory.
Sat, 04 Mar 2017 02:56:50 +0100 exchange: move code related to exchange into a 'evolve.exchange' submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 02:56:50 +0100] rev 2044
exchange: move code related to exchange into a 'evolve.exchange' submodule The evolve extension is HUGE, we split exchange code appart before doing more work on it.
Sat, 04 Mar 2017 03:37:32 +0100 exthelper: move command declaration into the exthelper
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 03:37:32 +0100] rev 2043
exthelper: move command declaration into the exthelper This is necessary to allow sub module to declare commands too.
Sat, 04 Mar 2017 01:43:36 +0100 exthelper: add a 'merge' method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 01:43:36 +0100] rev 2042
exthelper: add a 'merge' method This will help us spread more code in different sub module.
Sat, 04 Mar 2017 01:21:43 +0100 exthelper: extract into its own submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 01:21:43 +0100] rev 2041
exthelper: extract into its own submodule That code is fairly independant, we extract it into its own extensions to clarify the code
Fri, 03 Mar 2017 10:58:59 +0100 makefile: add an 'install-home' target
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 03 Mar 2017 10:58:59 +0100] rev 2040
makefile: add an 'install-home' target It is similar to the Mercurial one.
Fri, 03 Mar 2017 10:58:30 +0100 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 03 Mar 2017 10:58:30 +0100] rev 2039
makefile: only check for HGROOT when running tests Otherwise we breaks other target that do not needs HGROOT.
Thu, 02 Mar 2017 20:13:47 +0100 tests: split pyflake and flake8 tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:13:47 +0100] rev 2038
tests: split pyflake and flake8 tests This allow more parallelism and better skip message
Thu, 02 Mar 2017 20:24:17 +0100 flake8: run on all python file
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:24:17 +0100] rev 2037
flake8: run on all python file We can now run it on all file in the repository to catch potential regression.
Thu, 02 Mar 2017 20:23:45 +0100 flake8: fix error in 'setup.py'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:23:45 +0100] rev 2036
flake8: fix error in 'setup.py' Some strange indentation in there.
Thu, 02 Mar 2017 20:23:18 +0100 flake8: fix error in 'test2rst.py'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:23:18 +0100] rev 2035
flake8: fix error in 'test2rst.py' There is variosu dead code in there :-/ but we just fix flake8 complains for now.
(0) -1000 -240 +240 +1000 +3000 tip