Fri, 26 May 2017 10:05:27 +0200 template: add precursors template
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 10:05:27 +0200] rev 2486
template: add precursors template The precursors templates display the closest visible precursors of each changeset, we may have gap, like in this case: A -> B -> C If we display A and C but not B, we can't display than B is the closest precursor of C because it's not displayed. We display A as the closest precursor of C instead. Add a new test file as we will need to generate theses gaps and modifying test-evolve-obshistory.t will lead to many unrelated lines changes.
Fri, 26 May 2017 16:00:05 +0200 refactor: extract templates into a new file
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 16:00:05 +0200] rev 2485
refactor: extract templates into a new file Extract evolve template from evolve/__init__.py to evolve/templatekw.py as more templates will come in the future.
Tue, 23 May 2017 19:48:04 +0200 obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net> [Tue, 23 May 2017 19:48:04 +0200] rev 2484
obshistory: add the all option to obslog to show the while obs tree Add a --all option to obslog in order to display also the successors of each obs markers. It has the effect of showing a more comprehensive graph when a split or a divergence happened.
Fri, 26 May 2017 16:12:07 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 May 2017 16:12:07 +0200] rev 2483
merge with stable
Fri, 26 May 2017 15:57:17 +0200 readme: update changelog for 6.2.2 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 May 2017 15:57:17 +0200] rev 2482
readme: update changelog for 6.2.2
Fri, 26 May 2017 15:01:21 +0200 test: fix test-evolve.t stable
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 15:01:21 +0200] rev 2481
test: fix test-evolve.t Metaedit take the current date when no date is given. When we added default- date, the date ended up to be the same and the behavior changed. Fix the text by disabling default-date in the metaedit call and update the comment about what is needed to fix correctly the test; take the changeset date when metaediting only one changeset.
Fri, 26 May 2017 10:25:16 +0200 test: split evolve cycle tests in a separate test file
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 10:25:16 +0200] rev 2480
test: split evolve cycle tests in a separate test file
Thu, 25 May 2017 21:14:04 +0200 evolve: fix --rev with --list stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 May 2017 21:14:04 +0200] rev 2479
evolve: fix --rev with --list This was untested and never worked.
Wed, 24 May 2017 18:17:01 +0200 test: improve the globing for obsmarker date stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 May 2017 18:17:01 +0200] rev 2478
test: improve the globing for obsmarker date If we force the date of obsmarkers, they will no longer include "20".
Tue, 23 May 2017 19:21:43 +0200 test: rename all olog references
Boris Feld <boris.feld@octobus.net> [Tue, 23 May 2017 19:21:43 +0200] rev 2477
test: rename all olog references Replace them by hg obslog which is more explicit.
Wed, 24 May 2017 18:17:01 +0200 test: improve the globing for obsmarker date
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 May 2017 18:17:01 +0200] rev 2476
test: improve the globing for obsmarker date If we force the date of obsmarkers, they will no longer include "20".
Wed, 24 May 2017 16:43:04 +0200 documentation: recomment using blackbox with the obshashrange experiment stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 May 2017 16:43:04 +0200] rev 2475
documentation: recomment using blackbox with the obshashrange experiment
Tue, 23 May 2017 10:50:56 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 May 2017 10:50:56 +0200] rev 2474
merge with stable
Tue, 23 May 2017 10:49:59 +0200 packaging: update the development version number stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 May 2017 10:49:59 +0200] rev 2473
packaging: update the development version number This helps catch non-tagged version installed with pip.
Tue, 23 May 2017 10:48:21 +0200 Added tag 6.2.1 for changeset 0af99106b075 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 May 2017 10:48:21 +0200] rev 2472
Added tag 6.2.1 for changeset 0af99106b075
Tue, 23 May 2017 10:48:14 +0200 packaging: prepare release 6.2.1 stable 6.2.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 May 2017 10:48:14 +0200] rev 2471
packaging: prepare release 6.2.1
Mon, 22 May 2017 16:01:59 +0200 compat: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 May 2017 16:01:59 +0200] rev 2470
compat: merge with stable Stable has multiple changeset that solve deprecation warning for the future Mercurial 4.3.
Mon, 22 May 2017 15:45:42 +0200 test-compat: merge with mercurial-3.9 mercurial-3.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 May 2017 15:45:42 +0200] rev 2469
test-compat: merge with mercurial-3.9
Mon, 22 May 2017 15:42:13 +0200 test-compat: merge with mercurial-4.0 branch mercurial-3.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 May 2017 15:42:13 +0200] rev 2468
test-compat: merge with mercurial-4.0 branch
Mon, 22 May 2017 15:34:36 +0200 test-compat: merge with mercurial-4.1 mercurial-4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 May 2017 15:34:36 +0200] rev 2467
test-compat: merge with mercurial-4.1 Nothing to report
Mon, 22 May 2017 15:28:36 +0200 test-compat: merge with stable mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 May 2017 15:28:36 +0200] rev 2466
test-compat: merge with stable Nothing special to report, minor blackbox output update and color extensions was needed for test-prune.t
Mon, 22 May 2017 12:00:57 +0200 deprecation: fix dirstate.beginparentchange deprecation warning stable
Boris Feld <boris.feld@octobus.net> [Mon, 22 May 2017 12:00:57 +0200] rev 2465
deprecation: fix dirstate.beginparentchange deprecation warning Replace calls to dirstart.beginparentchange and dirstate.endparentchange to dirstate.parentchange context manager.
Mon, 22 May 2017 14:57:47 +0200 deprecation: fix cmdutil.command deprecation warning stable
Boris Feld <boris.feld@octobus.net> [Mon, 22 May 2017 14:57:47 +0200] rev 2464
deprecation: fix cmdutil.command deprecation warning
Sun, 21 May 2017 23:58:55 +0200 obshistory: be more flexible about createmarkers API
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2017 23:58:55 +0200] rev 2463
obshistory: be more flexible about createmarkers API The API got touched in core.
Sun, 21 May 2017 23:56:33 +0200 inhibit: be more flexible on createmarkers API stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2017 23:56:33 +0200] rev 2462
inhibit: be more flexible on createmarkers API This API got touched in core.
Sun, 21 May 2017 14:27:23 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2017 14:27:23 +0200] rev 2461
merge with stable
Sun, 21 May 2017 14:20:24 +0200 obshashrange: document the experiment stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2017 14:20:24 +0200] rev 2460
obshashrange: document the experiment This should help people jump in.
Sun, 21 May 2017 13:55:09 +0200 obshashrange: add an option to disable local cache warming stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2017 13:55:09 +0200] rev 2459
obshashrange: add an option to disable local cache warming The cache still a bit too volatile an costly to update. This offer a way for developer working copy to only compute it when used.
Sat, 20 May 2017 03:31:42 +0200 obshashrange: re-warm less revision after reset stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 May 2017 03:31:42 +0200] rev 2458
obshashrange: re-warm less revision after reset rewarming every single revision get very expensive quickly. Instead we warm few key revision and rely on the fact this will warm enough useful subrange.
Fri, 19 May 2017 20:52:09 +0200 effectflag: simplify meta data change testing
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:52:09 +0200] rev 2457
effectflag: simplify meta data change testing Let us just do one larger test. G: changed hgext3rd/evolve/obshistory.py
Fri, 19 May 2017 20:50:49 +0200 effectflag: add a small comment to suggest improvement
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:50:49 +0200] rev 2456
effectflag: add a small comment to suggest improvement The code run but we will likely need something easier to extend.
Fri, 19 May 2017 20:50:00 +0200 effectflag: handle invalid data
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:50:00 +0200] rev 2455
effectflag: handle invalid data If we get a marker with an invalid input we should not crash the whole process.
Fri, 19 May 2017 20:49:20 +0200 effetflag: move the flag back with the test of the creation logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:49:20 +0200] rev 2454
effetflag: move the flag back with the test of the creation logic Previous changeset was published by mistake.
Fri, 19 May 2017 20:21:10 +0200 obshistory: display informations from the obs marker effect flag
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 20:21:10 +0200] rev 2453
obshistory: display informations from the obs marker effect flag Leverage the effect flag to actually show what change for each obsmarker in the obslog command. (first basic version).
Fri, 19 May 2017 20:43:16 +0200 test: add (glob) to globed line
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:43:16 +0200] rev 2452
test: add (glob) to globed line Ingloriously forgot to amend.
Fri, 19 May 2017 19:45:04 +0200 effectflag: add test combining multiple flag
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 19:45:04 +0200] rev 2451
effectflag: add test combining multiple flag We check that multiple changes might be detected a the same time.
Fri, 19 May 2017 20:15:05 +0200 effectflag: basic diff change detection
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:15:05 +0200] rev 2450
effectflag: basic diff change detection We adds some basic diff detection.
Fri, 19 May 2017 19:52:57 +0200 effectflag: detect parent change
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 19:52:57 +0200] rev 2449
effectflag: detect parent change Add the detection of parent changes.
Fri, 19 May 2017 19:48:44 +0200 effectflag: detect meta changes
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 19:48:44 +0200] rev 2448
effectflag: detect meta changes Add the detection of known meta field changes. The known meta fields that we check are: - user - date - branch
Fri, 19 May 2017 19:43:06 +0200 effect-flag: rework existing test to prepare for mor tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 19:43:06 +0200] rev 2447
effect-flag: rework existing test to prepare for mor tests
Fri, 19 May 2017 18:43:21 +0200 effectflag: allow to save effect of change in obsmarkers
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 18:43:21 +0200] rev 2446
effectflag: allow to save effect of change in obsmarkers Obsmarkers lack a precious information, what are the changes between the source and the destination. This could be several thing: - The description has changed, with a amend -e for example - The parent has changed, with a rebase for example - The content has changed, with a amend for example - The meta, like the user, has change, with a amend -u for example Or any combination of them. We hijack the createobsmarkers in order to compute the modification and store the effect flag which is basically a bitfield of the changes list above and we store it in the metadata for the moment. The advantage of computing the flag just before creating the obs marker is that all commands will immediately be compatible and we can start working on the UI display of the flag. As a future optimization, the commands will be able to pass the flag directly or data to help computing them, for example amend knows if the description has changed or rebase now if the parent has changed, virtually removing the overhead. To start simple, this patch add the detection and storage of the effect flag when the description has changed. And hide it behind an experimental flag disabled by default 'experimental.evolution.effect-flags'. More flag will follow.
Fri, 19 May 2017 18:07:56 +0200 merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 18:07:56 +0200] rev 2445
merge back with stable
Fri, 19 May 2017 17:48:44 +0200 readme: fix version number
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 17:48:44 +0200] rev 2444
readme: fix version number
Fri, 19 May 2017 17:34:45 +0200 next: prevent a color related crash when evolve stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 17:34:45 +0200] rev 2443
next: prevent a color related crash when evolve This was not caught by test because they run color less.
Fri, 19 May 2017 17:33:27 +0200 prune: prevent a color related crash when the working copy is moved stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 17:33:27 +0200] rev 2442
prune: prevent a color related crash when the working copy is moved This was not caught by test because they run color less.
Thu, 18 May 2017 22:40:17 -0700 evolve: adding longer aliases for olog
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Thu, 18 May 2017 22:40:17 -0700] rev 2441
evolve: adding longer aliases for olog Novice users will likely find the longer versions more obvious to understand what they're doing (olog only makes sense once you already know what it does). Especially on the help page, "obslog" will be easier to find and make sense of.
Fri, 19 May 2017 11:16:22 +0200 debugobsstorestat: add markers size information
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 11:16:22 +0200] rev 2440
debugobsstorestat: add markers size information We adds some extra information about markers size in all known format.
Fri, 19 May 2017 00:15:30 +0200 packaging: bump version to 6.3.0.dev
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:15:30 +0200] rev 2439
packaging: bump version to 6.3.0.dev
Fri, 19 May 2017 00:10:12 +0200 merge back with stable (post-release)
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:10:12 +0200] rev 2438
merge back with stable (post-release)
Fri, 19 May 2017 00:14:20 +0200 packaging: bump version to 6.2.1.dev stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:14:20 +0200] rev 2437
packaging: bump version to 6.2.1.dev
Fri, 19 May 2017 00:11:18 +0200 Added tag 6.2.0 for changeset d4ee0274a8ef stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:11:18 +0200] rev 2436
Added tag 6.2.0 for changeset d4ee0274a8ef
Thu, 18 May 2017 22:20:23 +0200 merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:20:23 +0200] rev 2435
merge back with stable
Thu, 18 May 2017 23:55:02 +0200 merge with future 6.2.0 mercurial-3.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:55:02 +0200] rev 2434
merge with future 6.2.0 No extra change were needed compared to 3.9.
Thu, 18 May 2017 23:51:10 +0200 merge with future 6.2.0 mercurial-3.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:51:10 +0200] rev 2433
merge with future 6.2.0 The new 'olog' command is not working with 3.9 so we skill all mentions of it in the tests. This also apply to the topic extensions.
Thu, 18 May 2017 23:35:16 +0200 merge with future 6.2.0 mercurial-4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:35:16 +0200] rev 2432
merge with future 6.2.0 Minor unrelated output adjustements were needed.
Thu, 18 May 2017 23:12:52 +0200 merge with future 6.2.0 mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:12:52 +0200] rev 2431
merge with future 6.2.0 There are been (multiple) minor output changes.
Thu, 18 May 2017 22:26:29 +0200 packaging: prepare release 6.2 stable 6.2.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:26:29 +0200] rev 2430
packaging: prepare release 6.2
Thu, 18 May 2017 22:26:06 +0200 debian: fix email stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:26:06 +0200] rev 2429
debian: fix email
Thu, 18 May 2017 23:58:19 +0200 topic: update 'tested with' and readme stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:58:19 +0200] rev 2428
topic: update 'tested with' and readme We are compatible with Mercurial 4.0 and above
Thu, 18 May 2017 22:25:43 +0200 readme: rearrange readme before release stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:25:43 +0200] rev 2427
readme: rearrange readme before release There won't be a bugfix release (and other cleanup)
Thu, 18 May 2017 23:24:57 +0200 test: reduce output size to fight unstability stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:24:57 +0200] rev 2426
test: reduce output size to fight unstability Until `hg touch` can be more stable, we have to do this :-/
Thu, 18 May 2017 22:57:20 +0200 tests: disable blackbox for 'getid' stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:57:20 +0200] rev 2425
tests: disable blackbox for 'getid' This will significantly simplify the blackbox log.
Thu, 18 May 2017 22:42:13 +0200 compat: handle lack of 'util.timer' for pre 4.2 version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:42:13 +0200] rev 2424
compat: handle lack of 'util.timer' for pre 4.2 version We keep compatibility with previous Mercurial version by redefining the timer when needed.
Thu, 18 May 2017 22:53:01 +0200 test: enforce color to be enabled mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:53:01 +0200] rev 2423
test: enforce color to be enabled 4.2 enable color by default and start to get used in test. So we add this to the test for previous version.
Thu, 18 May 2017 22:12:05 +0200 merge with default stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:12:05 +0200] rev 2422
merge with default
Thu, 18 May 2017 21:59:10 +0200 tests: add a test about strip with obshashrange enable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 21:59:10 +0200] rev 2421
tests: add a test about strip with obshashrange enable I've seen some traceback but I cannot reproduce them. This tests seems useful anyway.
Thu, 18 May 2017 18:35:34 +0200 obshistory: add a json test with cycles
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 18:35:34 +0200] rev 2420
obshistory: add a json test with cycles
Thu, 18 May 2017 18:40:20 +0200 tests: glob an absolute path
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:40:20 +0200] rev 2419
tests: glob an absolute path The ssh command path was in full and pointing the mercurial checkout of the last one who touched the test.
Thu, 18 May 2017 18:34:26 +0200 olog: document the default value
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:34:26 +0200] rev 2418
olog: document the default value We actually display the log for '.' which is useful.
Thu, 18 May 2017 18:29:28 +0200 readme: rearrange changelog content
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:29:28 +0200] rev 2417
readme: rearrange changelog content blackbox is more important than the various caches changes.
Thu, 18 May 2017 18:18:01 +0200 obshistory: rename the command to "olog"
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:18:01 +0200] rev 2416
obshistory: rename the command to "olog" The command start to look good enough to be handed out to user. We replace the old and useless "olog" alias in favor of the new command.
Thu, 18 May 2017 18:04:47 +0200 obshistory: move the command into the obshistory module
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:04:47 +0200] rev 2415
obshistory: move the command into the obshistory module The root module is far too large already.
Thu, 18 May 2017 17:40:07 +0200 obshistory: add docstring to cmddebugobshistory
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 17:40:07 +0200] rev 2414
obshistory: add docstring to cmddebugobshistory Add debugobshistory command documentation based on the log command documentation.
Thu, 18 May 2017 17:47:59 +0200 obshashrangecache: make sure we re-warm the cache after a reset
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 17:47:59 +0200] rev 2413
obshashrangecache: make sure we re-warm the cache after a reset This will "mitigate" the effect of dropping existing entries when new markers affect existing range.
Thu, 18 May 2017 17:35:36 +0200 obshashrangecache: precisely track affected revs when adding new markers
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 17:35:36 +0200] rev 2412
obshashrangecache: precisely track affected revs when adding new markers This will be useful when we start doing finer grained invalidation (instead of dropping all data).
Thu, 18 May 2017 14:58:22 +0200 debugobshistory: handle multiple cycles
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 14:58:22 +0200] rev 2411
debugobshistory: handle multiple cycles We previously handled up to one cycle only. This is now fixed.
Thu, 18 May 2017 14:49:02 +0200 test: clean the debugobshistory cycle test
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 14:49:02 +0200] rev 2410
test: clean the debugobshistory cycle test Use 'desc(...)' instead of revision numbers. Also blank lines between commands in the same test
Thu, 18 May 2017 17:03:11 +0200 obsdiscovery: add more debug output
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 17:03:11 +0200] rev 2409
obsdiscovery: add more debug output we add a summary debug output to help gathering data.
Thu, 18 May 2017 16:59:25 +0200 discovery: log information about obshashrange
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 16:59:25 +0200] rev 2408
discovery: log information about obshashrange We augment the blackbox output to help with data gathering.
Thu, 18 May 2017 11:29:27 +0200 obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 11:29:27 +0200] rev 2407
obshistory: add a graph option on the debugobshistory command Add a graph option (--graph) to the debugobshistory. The output is like the 'hg log -G' output. The option is activated by default but can be deactivated with '--no-graph' option. There are various issue with the current implementation (multiple cycles handling, N² complexity) but this can be fixed later.
Thu, 18 May 2017 11:29:23 +0200 obshistory: import 'node' as 'nodemod'
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 11:29:23 +0200] rev 2406
obshistory: import 'node' as 'nodemod' This simplify the next changeset.
Thu, 18 May 2017 11:00:06 +0200 label: add a label for the node in the "wc now at" message
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 11:00:06 +0200] rev 2405
label: add a label for the node in the "wc now at" message MOAR COLOR FOR THE COLOR GOAD!
Thu, 18 May 2017 10:56:08 +0200 label: rename 'evolve.short_node' to 'evolve.node'
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 10:56:08 +0200] rev 2404
label: rename 'evolve.short_node' to 'evolve.node' A wider labelk will helps compatibility.
Wed, 17 May 2017 19:20:43 +0200 obshistory: refactor debugobshistory
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 19:20:43 +0200] rev 2403
obshistory: refactor debugobshistory Rename the function and extract the heavy work of the command in a separate module named obshistory.py
Wed, 17 May 2017 18:54:48 +0200 test: adapt to change in cache warming in core
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:54:48 +0200] rev 2402
test: adapt to change in cache warming in core Core Mercurial has a more rational cache warming strategy now. 24f55686a63d stopped warming of the cache after every changegroup application (in favor of end of transaction warming). This reflect in the blackbox test output.
Wed, 17 May 2017 18:38:13 +0200 test: adapt to change in cache warming in core
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:38:13 +0200] rev 2401
test: adapt to change in cache warming in core Core Mercurial has a more rational cache warming strategy now. 2b6692df1bdf stopped warming of the cache after every commit (in favor of end of transaction warming). This reflect in the blackbox test output.
Wed, 17 May 2017 18:47:22 +0200 stablerangecache: avoid crash when 'cache/' directory is missing
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:47:22 +0200] rev 2400
stablerangecache: avoid crash when 'cache/' directory is missing If the directory is missing, we create it.
Wed, 17 May 2017 18:40:48 +0200 obshashrange: avoid crash when 'cache/' directory is missing
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:40:48 +0200] rev 2399
obshashrange: avoid crash when 'cache/' directory is missing If the directory is missing, we create it.
Wed, 17 May 2017 17:16:59 +0200 tests: apply output changes from core fix
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 17:16:59 +0200] rev 2398
tests: apply output changes from core fix Mercurial core fixed a bug were the obsolete set (and all depending data) stayed invalid after markers were merged. Fixing this bug is fixing some bad output on the evolve side so we apply the output change.
Wed, 17 May 2017 15:49:21 +0200 packaging: mention 'dev' status in the version number
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 15:49:21 +0200] rev 2397
packaging: mention 'dev' status in the version number
Wed, 17 May 2017 09:28:10 +0200 color: update the shorttemplate to use colors
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 09:28:10 +0200] rev 2396
color: update the shorttemplate to use colors
Wed, 17 May 2017 14:49:02 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 14:49:02 +0200] rev 2395
merge with stable
Wed, 17 May 2017 14:40:18 +0200 obshashrange: cleanup 'valid' life cycle
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 14:40:18 +0200] rev 2394
obshashrange: cleanup 'valid' life cycle - reset is only called when we detect a strip, the on disk data are invalid, - after a reset, we should not keep using the data base connection, - after a write, the on disk data are valid.
Wed, 17 May 2017 12:27:13 +0200 obsrangecache: raise programming error when using an unwarmed cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:27:13 +0200] rev 2393
obsrangecache: raise programming error when using an unwarmed cache This will provide a better experience for developer using this the cache.
Wed, 17 May 2017 13:27:29 +0200 obshashrange: stop marking on-disk data as invalid on clear
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 13:27:29 +0200] rev 2392
obshashrange: stop marking on-disk data as invalid on clear This was abusing and prevent proper use of the on disk cache.
Wed, 17 May 2017 13:16:18 +0200 obshashcache: purge the meta line before writing a new one
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 13:16:18 +0200] rev 2391
obshashcache: purge the meta line before writing a new one Otherwise we get multiple lines and this gets messy.
Wed, 17 May 2017 13:14:50 +0200 obshashrange: drop spurious whitespace
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 13:14:50 +0200] rev 2390
obshashrange: drop spurious whitespace
Wed, 17 May 2017 12:25:56 +0200 obshashcache: invalidate affected cache entries on side
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:25:56 +0200] rev 2389
obshashcache: invalidate affected cache entries on side Calling reset during upgrade is screwing up the cache key update.
Wed, 17 May 2017 12:26:15 +0200 obshashcache: properly break out of all loops
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:26:15 +0200] rev 2388
obshashcache: properly break out of all loops
Wed, 17 May 2017 12:23:10 +0200 dualsourcecache: simplify cachekey.clear
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:23:10 +0200] rev 2387
dualsourcecache: simplify cachekey.clear We do not needs the super call anymore and we can make the reset case more explicit. So we do.
Wed, 17 May 2017 11:58:48 +0200 tests: small test update
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 11:58:48 +0200] rev 2386
tests: small test update This is a bit clearer.
Wed, 17 May 2017 11:23:33 +0200 dualsourcecache: fix obskey return by _checkkey
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 11:23:33 +0200] rev 2385
dualsourcecache: fix obskey return by _checkkey The function was returning the old key instead of the new one. This is now fixed.
Wed, 17 May 2017 11:47:14 +0200 test: update test-obsolete.t to use common.sh stable
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 11:47:14 +0200] rev 2384
test: update test-obsolete.t to use common.sh The definition of getid() in the test file was wrong, use the one from common.sh instead
Tue, 16 May 2017 12:23:31 +0200 obshashrange: log reset from new markers
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:23:31 +0200] rev 2383
obshashrange: log reset from new markers This will help tracking performance impact from current limitation.
Tue, 16 May 2017 12:18:46 +0200 dualsourcecache: log cache reset
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:18:46 +0200] rev 2382
dualsourcecache: log cache reset
Tue, 16 May 2017 17:03:34 +0200 stablerange: log time spent updating the stable range
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 17:03:34 +0200] rev 2381
stablerange: log time spent updating the stable range
Tue, 16 May 2017 16:56:37 +0200 cache: track time spend updating various cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 16:56:37 +0200] rev 2380
cache: track time spend updating various cache This produce more useful blackbox log.
Tue, 16 May 2017 15:20:53 +0200 obshashrange: adds blackbox usage in tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 15:20:53 +0200] rev 2379
obshashrange: adds blackbox usage in tests This will help track the validation of the cache.
Tue, 16 May 2017 12:45:08 +0200 obshashrange: test behavior in case of rollback
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:45:08 +0200] rev 2378
obshashrange: test behavior in case of rollback The cache should be properly invalidated.
Tue, 16 May 2017 12:42:50 +0200 obshashrange: extend tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:42:50 +0200] rev 2377
obshashrange: extend tests We test more situations.
Tue, 16 May 2017 12:18:30 +0200 dualsourcecache: add a cache name
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:18:30 +0200] rev 2376
dualsourcecache: add a cache name This will be used to automatically log message for blackbox
Tue, 16 May 2017 12:17:13 +0200 obscache: stop definition of the empty key
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:17:13 +0200] rev 2375
obscache: stop definition of the empty key
Tue, 16 May 2017 11:41:36 +0200 obshashrange: keep value fetched from sql in memory
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 11:41:36 +0200] rev 2374
obshashrange: keep value fetched from sql in memory This will reduce the number of roundtrip to the data base we need.
Tue, 16 May 2017 11:37:45 +0200 obshashrange: stop inheriting from 'dict'
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 11:37:45 +0200] rev 2373
obshashrange: stop inheriting from 'dict' A simple dictionary attribute seems more simpler.
Wed, 17 May 2017 09:52:06 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 09:52:06 +0200] rev 2372
merge with stable
Wed, 17 May 2017 00:23:19 +0200 obshashrange: to not overwrite the list with the set
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 00:23:19 +0200] rev 2371
obshashrange: to not overwrite the list with the set We reusing the list variable lower in the code.
Wed, 17 May 2017 00:22:24 +0200 obshashrange: properly break out of the two loops
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 00:22:24 +0200] rev 2370
obshashrange: properly break out of the two loops Otherwise we would continue to iterate even after we reseted the cache.
Wed, 17 May 2017 00:21:30 +0200 obshashrange: fix reset conditional
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 00:21:30 +0200] rev 2369
obshashrange: fix reset conditional If the revision is in "revs" we should not reset the cache. The old code was wrong (Thanks goes to new tests for catching this).
Tue, 16 May 2017 11:21:41 +0200 cache: ensure we warm stablerange cache before the obshashrange cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 11:21:41 +0200] rev 2368
cache: ensure we warm stablerange cache before the obshashrange cache I've been seeing traceback that seems to be happening because of issues in this area.
Tue, 16 May 2017 23:37:10 -0700 evolve: fixing obscache invalidation stable
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Tue, 16 May 2017 23:37:10 -0700] rev 2367
evolve: fixing obscache invalidation This was missing a call to the parent's destroyed(), such that any transaction after stripping some nodes would result in a crash (by attempting to read nodes which were stripped).
Fri, 12 May 2017 21:21:31 +0200 obshashrange: warm the cache at the end of each transaction
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:21:31 +0200] rev 2366
obshashrange: warm the cache at the end of each transaction This will help having warmed cache for read only client. The warming is still imperfect in case of markers that trigger a reset, but we are in a better place than what we used to be.
Fri, 12 May 2017 21:00:39 +0200 obshashrange: warm cache outside of loops
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:00:39 +0200] rev 2365
obshashrange: warm cache outside of loops The performance impact will be lower
Fri, 12 May 2017 21:20:02 +0200 obshashrange: "update" the cache on each transaction close
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:20:02 +0200] rev 2364
obshashrange: "update" the cache on each transaction close Right now the "update" does not really file the cache, but it will detect invalid situation and clean them.
Fri, 12 May 2017 20:52:19 +0200 obshashrange: properly invalidate the cache on destroyed
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:52:19 +0200] rev 2363
obshashrange: properly invalidate the cache on destroyed Copy paste is the scurge of code source.
Fri, 12 May 2017 20:49:27 +0200 obshashrange: properly drop the current connection on clear
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:49:27 +0200] rev 2362
obshashrange: properly drop the current connection on clear
Fri, 12 May 2017 20:40:00 +0200 obshashrange: exit early if nothing to write
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:40:00 +0200] rev 2361
obshashrange: exit early if nothing to write
Fri, 12 May 2017 20:29:54 +0200 obshashrange: use the dualsourcecache as a base for the cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:29:54 +0200] rev 2360
obshashrange: use the dualsourcecache as a base for the cache This will easily open the way to incrementally updated obshashrange cache. Small update are needed to the data base schema so be bump the version Currently the update function is not warming the cache (but details case where it is invalidated).
Fri, 12 May 2017 20:28:09 +0200 obscache: makes dualsourcecache compatible with obshashrange cache needs
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:28:09 +0200] rev 2359
obscache: makes dualsourcecache compatible with obshashrange cache needs The goal of the abstract method is to be reusable. So we make sure it is reusable.
Fri, 12 May 2017 21:20:40 +0200 readme: add a changelog entry about the more efficient obscache
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:20:40 +0200] rev 2358
readme: add a changelog entry about the more efficient obscache
Fri, 12 May 2017 19:18:49 +0200 obscache: extract a data agnostic class
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:18:49 +0200] rev 2357
obscache: extract a data agnostic class We now have an independent class that we can reuse for other purpose (eg: obshashrange cache)
Fri, 12 May 2017 19:07:14 +0200 obscache: extract the actual data update in a dedicated function
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:07:14 +0200] rev 2356
obscache: extract the actual data update in a dedicated function This will help extract a data agnostic class.
Fri, 12 May 2017 19:05:46 +0200 obscache: move an assert to a lower level
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:05:46 +0200] rev 2355
obscache: move an assert to a lower level
Fri, 12 May 2017 19:04:13 +0200 obscache: use 'nullid' as the hash of an empty obsstore
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:04:13 +0200] rev 2354
obscache: use 'nullid' as the hash of an empty obsstore This align this result with what we use for 'emptykey'
Fri, 12 May 2017 18:56:56 +0200 obcache: move empty on the class
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 18:56:56 +0200] rev 2353
obcache: move empty on the class We'll extract a smaller data agnostic class but we need to gather all method on it first.
Fri, 12 May 2017 18:56:42 +0200 obcache: move _checkkey on the class
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 18:56:42 +0200] rev 2352
obcache: move _checkkey on the class We'll extract a smaller data agnostic class but we need to gather all method on it first.
Fri, 12 May 2017 18:52:59 +0200 obcache: move updateneeded on the class
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 18:52:59 +0200] rev 2351
obcache: move updateneeded on the class We'll extract a smaller data agnostic class but we need to gather all method on it first.
Fri, 12 May 2017 18:34:37 +0200 obshistory: only display each revision once in debugobshistory
Boris Feld <boris.feld@octobus.net> [Fri, 12 May 2017 18:34:37 +0200] rev 2350
obshistory: only display each revision once in debugobshistory When using a revision range, the same precursor could have been displayed more than once. Use a cache to display each revision only once. It's a fix until we found the nicest way to display obs history.
Fri, 12 May 2017 11:39:41 +0200 obshistory: display a message when one marker node has no change ctx
Boris Feld <boris.feld@octobus.net> [Fri, 12 May 2017 11:39:41 +0200] rev 2349
obshistory: display a message when one marker node has no change ctx When exchanging obs markers, there is some change contexts referencing change contexts that are not available locally. As we cannot display informations about them, instead print a message saying so.
Wed, 10 May 2017 14:46:01 +0200 ui: hg topic now display if current revision is in bad state (issue5533) stable
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 14:46:01 +0200] rev 2348
ui: hg topic now display if current revision is in bad state (issue5533) Previously, hg topic didn't showed the state of the current revision. Now if show both informations.
Thu, 11 May 2017 17:00:55 +0200 obsstore: also guard agains changing object in '_checkkey'
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 17:00:55 +0200] rev 2347
obsstore: also guard agains changing object in '_checkkey' The 'upgradeneeded' function needs to be able to pass the object it fetched once.
Thu, 11 May 2017 16:58:43 +0200 obscache: guard from changing changelog or obsstore object
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:58:43 +0200] rev 2346
obscache: guard from changing changelog or obsstore object We access these object once to make sure they will never change through the function (and their content will be fixed).
Thu, 11 May 2017 16:45:13 +0200 obscache: return the new data along-side the upgrade needs (and cache key)
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:45:13 +0200] rev 2345
obscache: return the new data along-side the upgrade needs (and cache key) Having one function returning consistent data will help prevent race.
Thu, 11 May 2017 16:06:31 +0200 obscache: use the smaller scope function
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:06:31 +0200] rev 2344
obscache: use the smaller scope function This make the function simpler and allow larger update on the 'upgradeneeded' one.
Thu, 11 May 2017 16:05:50 +0200 obscache: extract the cache key validation in its own function
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:05:50 +0200] rev 2343
obscache: extract the cache key validation in its own function This help keep the "up to date logic" simpler and prepare a more complex version of the "upgradeneeded" logic that would return the full data needed for the upgrade.
Wed, 10 May 2017 11:52:11 +0200 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 11:52:11 +0200] rev 2342
obshistory: use formatter instead of ui.write in the debugobshistory command Replace ui.write with a formater to have template support and json output. Update tests to assert json outputs.
Wed, 10 May 2017 09:55:22 +0200 ui: Fix hg stack json output stable
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 09:55:22 +0200] rev 2341
ui: Fix hg stack json output Previously 'hg stack -Tjson' generated invalid output like: [ { "isentry": true, "topic.stack.desc": "...", "topic.stack.index": 1, "topic.stack.state": "current", "topic.stack.state.symbol": "@" } ] , { "isentry": true, "topic.stack.desc": "...", "topic.stack.index": 1, "topic.stack.state": "current", "topic.stack.state.symbol": "@" }, { "isentry": false, "topic.stack.desc": "...", "topic.stack.state": "base", "topic.stack.state.symbol": "^" } ] I de-indented the fmt.end() to generate this output: [ { "isentry": true, "topic.stack.desc": "...", "topic.stack.index": 1, "topic.stack.state": "current", "topic.stack.state.symbol": "@" }, { "isentry": false, "topic.stack.desc": "...", "topic.stack.state": "base", "topic.stack.state.symbol": "^" } ] I've also added a test case.
Wed, 10 May 2017 13:04:31 +0200 topic: configure some default color for topic
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 May 2017 13:04:31 +0200] rev 2340
topic: configure some default color for topic This makes thg usable
Wed, 10 May 2017 13:03:05 +0200 topic: automatically configure thg to display topic
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 May 2017 13:03:05 +0200] rev 2339
topic: automatically configure thg to display topic If no other config is set, we configure Tortoise-hg to display topic. This should helps usability.
Wed, 10 May 2017 13:08:45 +0200 readme: update readme to mention 'debugobshistory'
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 May 2017 13:08:45 +0200] rev 2338
readme: update readme to mention 'debugobshistory'
Tue, 09 May 2017 17:43:39 +0200 obshistory: add some color
Boris Feld <boris.feld@octobus.net> [Tue, 09 May 2017 17:43:39 +0200] rev 2337
obshistory: add some color
Wed, 10 May 2017 12:26:33 +0200 obshistory: add a debugobshistory command to show obs history of a revs
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 12:26:33 +0200] rev 2336
obshistory: add a debugobshistory command to show obs history of a revs Add the debugobshistory command that accept a revision range and display the obsolescence containing each revision in the range. For the moment, it only displays the predecessors.
Wed, 10 May 2017 12:16:01 +0200 tests: add the commit style checker from Mercurial
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 May 2017 12:16:01 +0200] rev 2335
tests: add the commit style checker from Mercurial
Tue, 09 May 2017 19:13:12 +0200 obscache: update the cache key in place
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 May 2017 19:13:12 +0200] rev 2334
obscache: update the cache key in place Instead of computing the key in place, we update the existing one using the data used for the incremental update of the content. This will help reaching purely incremental cache eventually. The 'getcachekey' function is dropped as it is no longer used.
Tue, 09 May 2017 19:02:04 +0200 obscache: distinct 'clear' and 'reset'
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 May 2017 19:02:04 +0200] rev 2333
obscache: distinct 'clear' and 'reset' We make a difference between basic invalidatiton (or lack of loading) and 'reset' (current cache data are invalid). We can now ensure a non-None key when we start the update. This will allow us to "update" the existing key instead of recomputing one from scratch. This is more efficient and less racy.
Thu, 04 May 2017 21:24:02 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 May 2017 21:24:02 +0200] rev 2332
merge with stable
Thu, 04 May 2017 21:21:59 +0200 serveronly: also enable the obscache for server only setting stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 May 2017 21:21:59 +0200] rev 2331
serveronly: also enable the obscache for server only setting The obscache is useful and speeds things up. So we also enable for server only setting.
Thu, 04 May 2017 14:02:30 +0200 obscache: document a possible way forward to skipping obsstore parsing
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 May 2017 14:02:30 +0200] rev 2330
obscache: document a possible way forward to skipping obsstore parsing We document a possibly viable idea for updating the cache on new revs without having to fully parse the obsstore.
Wed, 03 May 2017 23:07:01 +0200 obscache: update some documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 23:07:01 +0200] rev 2329
obscache: update some documentation Update some data and do some proof reading.
Wed, 03 May 2017 21:47:06 +0200 obscache: Only access the new obsmarkers for marker update
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 21:47:06 +0200] rev 2328
obscache: Only access the new obsmarkers for marker update Since we know what what is the part of the file with "new" markers we can just access these. If the cache was up to date before the transaction, we'll re-parse data we just wrote. See the inline comment for details. This is good enough for now.
Wed, 03 May 2017 20:56:26 +0200 obscache: extract _updatemarkers code into its own function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 20:56:26 +0200] rev 2327
obscache: extract _updatemarkers code into its own function This split the update logic from the bit retrieving markers. That cannot be bad.
Wed, 03 May 2017 18:46:48 +0200 obscache: extract code to update from new revision
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 18:46:48 +0200] rev 2326
obscache: extract code to update from new revision Code cleanup and prepare upstreaming. The make the code more likely to work with the key validation returning an iterator of revs to update the cache with.
Wed, 03 May 2017 18:33:53 +0200 obscache: move assert earlier in the code
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 18:33:53 +0200] rev 2325
obscache: move assert earlier in the code If we are to crash, let us crash earlier.
Wed, 03 May 2017 13:58:32 +0200 merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 13:58:32 +0200] rev 2324
merge back with stable
Wed, 03 May 2017 13:58:06 +0200 Added tag 6.1.0 for changeset 8510d3fd7c3b stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 13:58:06 +0200] rev 2323
Added tag 6.1.0 for changeset 8510d3fd7c3b
Wed, 03 May 2017 13:57:55 +0200 packaging: prepare version 6.1.0 stable 6.1.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 13:57:55 +0200] rev 2322
packaging: prepare version 6.1.0
Wed, 03 May 2017 13:54:12 +0200 meta: update tested version to 4.1.2 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 13:54:12 +0200] rev 2321
meta: update tested version to 4.1.2 We tested against the latest 4.1 too.
Wed, 03 May 2017 13:52:19 +0200 merge with future 6.1.0 mercurial-3.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 May 2017 13:52:19 +0200] rev 2320
merge with future 6.1.0 No extra adjustment needed from hg-3.9 result
Wed, 03 May 2017 13:23:36 +0200 merge with future 6.1.0 mercurial-3.9
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 13:23:36 +0200] rev 2319
merge with future 6.1.0 No extra adjustment needed from hg-4.0 result
Wed, 03 May 2017 13:18:08 +0200 merge with future 6.1.0 mercurial-4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 13:18:08 +0200] rev 2318
merge with future 6.1.0 In addition to the output reverted for 4.1, we also drop the "troubles:" entry from the standard log.
Wed, 03 May 2017 13:12:39 +0200 merge with future 6.1.0 mercurial-4.1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 13:12:39 +0200] rev 2317
merge with future 6.1.0 test pass fine except for the removal of the extra data when accessing hidden revision. The better message are 4.2+ only.
Wed, 03 May 2017 13:27:26 +0200 compat: drop the context manager used to write the cache file stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 13:27:26 +0200] rev 2316
compat: drop the context manager used to write the cache file Mercurial 3.8 does not supports context manager on atomic temporary file.
Wed, 03 May 2017 12:54:11 +0200 compat: make obscache code compatible with Mercurial version prior to 4.2 stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 12:54:11 +0200] rev 2315
compat: make obscache code compatible with Mercurial version prior to 4.2 the phasecache.getrevset method is new in 4.2.
Wed, 03 May 2017 12:41:54 +0200 evolve: record testing with 4.2 stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 12:41:54 +0200] rev 2314
evolve: record testing with 4.2 4.2 is now a things and tests pass fine.
Wed, 03 May 2017 12:31:40 +0200 merge with default for 6.1.0 stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 12:31:40 +0200] rev 2313
merge with default for 6.1.0
Wed, 03 May 2017 12:31:11 +0200 packaging first step toward 6.1.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 12:31:11 +0200] rev 2312
packaging first step toward 6.1.0
Wed, 03 May 2017 12:25:53 +0200 auto-push: move config help in the extension help
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 03 May 2017 12:25:53 +0200] rev 2311
auto-push: move config help in the extension help That is a better spot than the extension itself.
Mon, 01 May 2017 06:17:44 +0200 opening mercurial 4.1 compat branch mercurial-4.1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 06:17:44 +0200] rev 2310
opening mercurial 4.1 compat branch This branch will receive test update implied by the 4.2 → 4.1 changes.
Tue, 02 May 2017 17:43:34 +0200 obscache: skip writing to disk if the data did not changed
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 17:43:34 +0200] rev 2309
obscache: skip writing to disk if the data did not changed This will avoid rewriting the cache for every single transaction.
Tue, 02 May 2017 16:19:05 +0200 obscache: skip writing if the cache is empty
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:19:05 +0200] rev 2308
obscache: skip writing if the cache is empty if the cache is empty, we can just skip writing to disk.
Tue, 02 May 2017 16:17:03 +0200 obscache: set a valid "empty" cache key if the cache is missing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:17:03 +0200] rev 2307
obscache: set a valid "empty" cache key if the cache is missing This avoid detecting bad cache when it just happens to be no cache.
Tue, 02 May 2017 16:10:14 +0200 obscache: have the obsstore fix empty file cachekey
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:10:14 +0200] rev 2306
obscache: have the obsstore fix empty file cachekey Before this change, the missing file and empty file returned different value.
Tue, 02 May 2017 17:44:12 +0200 obscache: log case where the cache is not up to date
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 17:44:12 +0200] rev 2305
obscache: log case where the cache is not up to date This will help track performance issue
Tue, 02 May 2017 16:13:04 +0200 obscache: still update and use the cache during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:13:04 +0200] rev 2304
obscache: still update and use the cache during transaction Other code might access the obsolete set in the middle of a transaction. It is better to use the case in that case since the update will eventually be written when the transaction is committed.
Tue, 02 May 2017 16:15:01 +0200 obscache: warm the cache in all cases
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:15:01 +0200] rev 2303
obscache: warm the cache in all cases There are case when the obsstore have been invalidated, but we still need to update the cache.
Tue, 02 May 2017 16:11:43 +0200 obscache: update the format to allow negative tiprev
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:11:43 +0200] rev 2302
obscache: update the format to allow negative tiprev If the changelog is empty (but the obsstore is not) the 'tiprev' will be -1.
Tue, 02 May 2017 16:09:03 +0200 obscache: load the disk data before checking is the cache is up to date
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:09:03 +0200] rev 2301
obscache: load the disk data before checking is the cache is up to date This is actually required since non-loaded cache will never be up to date...
Tue, 02 May 2017 02:13:33 +0200 obscache: skip the cache entirely if not up to date
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 02:13:33 +0200] rev 2300
obscache: skip the cache entirely if not up to date The current update code has some race condition windows around updating. But we also ensure the cache are up to date with every transaction. So outdated cache mean another client have been mudding the repository but things will get back in place at the next transaction. So we just skip using the cache when not up to date. This is not the best we could do. But this is good enough for now.
Mon, 01 May 2017 15:49:36 +0200 readme: mention that some improvement are enabled for 4.2 only
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:49:36 +0200] rev 2299
readme: mention that some improvement are enabled for 4.2 only
Mon, 01 May 2017 08:12:26 +0200 perf: use the cache to compute the obsolete set.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:12:26 +0200] rev 2298
perf: use the cache to compute the obsolete set. The official "obsolete" computation is switch to using the cache. This provide noticable speed for operation that does not need to actually access the obs markers. The part relating to obsolete changeset computation disappear from the execution profile when it is used.
Mon, 01 May 2017 08:14:00 +0200 perf: warm the cache after all transactions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:14:00 +0200] rev 2297
perf: warm the cache after all transactions This is the simplest way to ensure the data are up to date.
Mon, 01 May 2017 08:13:24 +0200 perf: adds a cache to know if obsmarkers might affect a revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:13:24 +0200] rev 2296
perf: adds a cache to know if obsmarkers might affect a revision Phase information still needs to be thrown in the mix to compute the final information, but skipping reading the obsstore for most operation is a large win. Usage of this cache arrives in the next changeset.
Mon, 01 May 2017 08:07:05 +0200 perf: adds cachekey utility to validate changelog+obsstore content
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:07:05 +0200] rev 2295
perf: adds cachekey utility to validate changelog+obsstore content We adds more helper about cache key to prepare the arrival of a cache that can be updated iteratively (similar to branchmap cache)
(0) -1000 -192 +192 +1000 tip