Thu, 29 Jun 2017 00:11:07 +0530 tests: add test to show topics working with shelve
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Jun 2017 00:11:07 +0530] rev 2680
tests: add test to show topics working with shelve
Thu, 29 Jun 2017 02:31:55 +0530 topics: update current topic to the topic of newly rebased commit (issue5551)
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Jun 2017 02:31:55 +0530] rev 2679
topics: update current topic to the topic of newly rebased commit (issue5551) The rebase code passes branchmerge equals to True while updating to the rebased commit. We need to make sure topic is preserved even after rebase and hence we need to update the topic even when branchmerge argument is set to True. But there is a twist in the tale, merge also uses this part of code and we allow to update topic when brancmerge is True, in merge cases the topic after merge will the topic of the destination commit, not the topic of working directory parent. So we need the function to have information about whether a rebase is going on, and we do it by wrapping the rebase command and storing some value in the config. This is a bit hacky but works for now. This patch fixes issue related to loosing of topic while rebase. Thanks to Boris Feld for the rigourous tests.
Tue, 27 Jun 2017 23:28:58 +0530 docs: some fixes to the help text
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 27 Jun 2017 23:28:58 +0530] rev 2678
docs: some fixes to the help text
Mon, 26 Jun 2017 21:48:33 +0530 topics: pass 'topics' to ui.formatter instead of 'bookmarks'
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 26 Jun 2017 21:48:33 +0530] rev 2677
topics: pass 'topics' to ui.formatter instead of 'bookmarks'
Wed, 28 Jun 2017 17:28:56 +0200 topic: also insert the extra head check with using the new head checking
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 17:28:56 +0200] rev 2676
topic: also insert the extra head check with using the new head checking This will get the protection in place in all cases.
Wed, 28 Jun 2017 17:38:04 +0200 topic: some document for an obscure function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 17:38:04 +0200] rev 2675
topic: some document for an obscure function
Wed, 28 Jun 2017 18:18:59 +0200 topic: adjust head checking wrapping to not interfere with concurrent push
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 18:18:59 +0200] rev 2674
topic: adjust head checking wrapping to not interfere with concurrent push In the previous form, the new topic head was detected as affected and the push was rejected. We introduce a of 'test-topic-push.t' using the new race checker as there have been many compatibility issue with this new checkers.
Wed, 28 Jun 2017 17:23:43 +0200 topic: also detect head checking using the concurrent part
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 17:23:43 +0200] rev 2673
topic: also detect head checking using the concurrent part
Wed, 28 Jun 2017 18:16:14 +0200 test: avoid 'test-check-commit.t' complaining copied code
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 18:16:14 +0200] rev 2672
test: avoid 'test-check-commit.t' complaining copied code We switch to git diff.
Wed, 28 Jun 2017 17:20:36 +0200 topic: small test cleanuo
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 17:20:36 +0200] rev 2671
topic: small test cleanuo The section was repeated.
Wed, 28 Jun 2017 01:53:21 +0200 topic: move the heads data to the branch line when appropriates
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 01:53:21 +0200] rev 2670
topic: move the heads data to the branch line when appropriates The topic line is dropped as it is quite confusing.
Wed, 28 Jun 2017 02:45:57 +0200 topic: add some initial support for using stack on named branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 02:45:57 +0200] rev 2669
topic: add some initial support for using stack on named branch Stack is a useful command that can make sense in other context. The current support is hacky and awful, but we have something!
Wed, 28 Jun 2017 01:58:09 +0200 topic: explicitly pass topic as a keyword argument
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 01:58:09 +0200] rev 2668
topic: explicitly pass topic as a keyword argument This clarify all callers before adding more logic related to bare branch in stack.
Tue, 27 Jun 2017 15:21:38 +0200 topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net> [Tue, 27 Jun 2017 15:21:38 +0200] rev 2667
topic: makes split keep the topic Refactor split to extract the preparation of the working directory in a separate function. This helps topic wrap this function to save topic before update and restore it after preparing the working directory just before the split.
Tue, 27 Jun 2017 09:49:35 +0200 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net> [Tue, 27 Jun 2017 09:49:35 +0200] rev 2666
topic: add tests for fold behavior with topics Clarify the fold behavior for keeping topics.
Sun, 25 Jun 2017 07:20:22 +0530 topics: pass quietempty=True to suppress useless output while changing topics
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 25 Jun 2017 07:20:22 +0530] rev 2665
topics: pass quietempty=True to suppress useless output while changing topics This will help in suppressing the output "0 files updated, 0 file removed, ..."
Sun, 25 Jun 2017 06:53:22 +0530 topics: return early so that other if conditions don't get execute (issue5600)
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 25 Jun 2017 06:53:22 +0530] rev 2664
topics: return early so that other if conditions don't get execute (issue5600) We were not returning after the _changetopics() call and hence the if's below it were also executed which resulted in changing of current topic. This prevent current topic to be updated even when we only affect changeset unrelated to the working copy. Not that the rebase output change as it expose a new bug (rebased changeset gain a topic)
Mon, 26 Jun 2017 17:47:04 +0200 test: extra output to understand the next changeset better
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 26 Jun 2017 17:47:04 +0200] rev 2663
test: extra output to understand the next changeset better
Sun, 25 Jun 2017 06:47:59 +0530 topics: move the logic to change or clear current topic into a new function
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 25 Jun 2017 06:47:59 +0530] rev 2662
topics: move the logic to change or clear current topic into a new function It adds a new _changecurrenttopic which changes or clears the current topic.
Mon, 26 Jun 2017 17:20:17 +0200 tests: expand output to check topic activation
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 26 Jun 2017 17:20:17 +0200] rev 2661
tests: expand output to check topic activation This will help understanding later changesets.
Sun, 25 Jun 2017 18:37:42 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 25 Jun 2017 18:37:42 +0200] rev 2660
branching: merge stable into default
Sun, 25 Jun 2017 16:37:56 +0200 split: preserve author of the original changeset in the successors stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 25 Jun 2017 16:37:56 +0200] rev 2659
split: preserve author of the original changeset in the successors Previously, the new changesets were authored by the default user.
Sat, 24 Jun 2017 13:28:16 +0200 grab: properly quote hg executable in the alias stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 24 Jun 2017 13:28:16 +0200] rev 2658
grab: properly quote hg executable in the alias Breakage has been reported on Windows.
Fri, 23 Jun 2017 10:51:18 +0200 topic: improve the revset used to return name->nodes mapping
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Jun 2017 10:51:18 +0200] rev 2657
topic: improve the revset used to return name->nodes mapping The 'topic' version already filters public changeset out, and skipping 'changectx' creation will helps performance.
Thu, 22 Jun 2017 09:48:40 +0200 topic: update the changectx method to respect phases
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Jun 2017 09:48:40 +0200] rev 2656
topic: update the changectx method to respect phases The topic is no longer returned once the changeset is no longer mutable (unless explicitly requested).
Fri, 23 Jun 2017 10:21:37 +0200 topic: avoid crash when topic is loaded but not enabled for a repository
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Jun 2017 10:21:37 +0200] rev 2655
topic: avoid crash when topic is loaded but not enabled for a repository
Thu, 22 Jun 2017 15:18:49 +0200 compat: update test to match core default state
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Jun 2017 15:18:49 +0200] rev 2654
compat: update test to match core default state This output changed in 560ceb654180.
Thu, 22 Jun 2017 10:13:29 +0200 topicmap: massive rework
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Jun 2017 10:13:29 +0200] rev 2653
topicmap: massive rework Massively rework the way we build and use topicmap. This bring massive performance benefit. Topic map use to be a fully independant thing that we would switch on and off globaly. The caching on disk was broken so the performance were atrocious. Intead, now the topic are inherited from the 'immutable' map. We gave up on storing them on disk for now since the mutable set is usually small enough. The activation is done by hacking new "filter" on the repository and detection when they are one. This is hacky but core is hard to wrap here. Overall this whole wrapping is really scary and we should massage core API to help it.
Thu, 22 Jun 2017 09:47:14 +0200 topic: use the 'topic' revset in namespace
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Jun 2017 09:47:14 +0200] rev 2652
topic: use the 'topic' revset in namespace This revset performance just got improved.
Thu, 22 Jun 2017 09:41:01 +0200 topic-revset: update the revset to no longer build changectx
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Jun 2017 09:41:01 +0200] rev 2651
topic-revset: update the revset to no longer build changectx Atribute access is expensive, and changectx are very expensive to build, so we skip these for better performance. Before: ! wall 0.012195 comb 0.020000 user 0.020000 sys 0.000000 (best of 217) After: ! wall 0.008816 comb 0.010000 user 0.010000 sys 0.000000 (best of 303) (Before this changeset parent) ! wall 0.213261 comb 0.210000 user 0.210000 sys 0.000000 (best of 45)
Thu, 22 Jun 2017 09:46:30 +0200 topic-revset: changectx creation in the revset
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Jun 2017 09:46:30 +0200] rev 2650
topic-revset: changectx creation in the revset The current mutability filter is very expensive, we use a more direct and efficent way to do so: Before: ! wall 0.213261 comb 0.210000 user 0.210000 sys 0.000000 (best of 45) After: ! wall 0.012195 comb 0.020000 user 0.020000 sys 0.000000 (best of 217)
Wed, 21 Jun 2017 07:32:11 +0530 topics: add some noise to rewrittent changeset to prevent hash cycle
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 07:32:11 +0530] rev 2649
topics: add some noise to rewrittent changeset to prevent hash cycle If we have a changeset with topic `x`, we change it's topic to `y`, fine. When we change it's topic back again to `x`, we get the hash of the the obsoleted changeset which had the topic `x` initially. The same happens for few more cases like clearing the topic of a changeset which initially had no topic. This approach is influenced from cmdutil.amend and other commands (rebase, histedit, etc…)
Wed, 21 Jun 2017 13:18:47 +0200 topic-change: update the working copy along when changing topic of '.'
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Jun 2017 13:18:47 +0200] rev 2648
topic-change: update the working copy along when changing topic of '.' This avoids leaving the working copy behind, removing another large parts of issue5441.
Wed, 21 Jun 2017 13:21:08 +0200 topic-change: cleanup the locking and transaction mechanism
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Jun 2017 13:21:08 +0200] rev 2647
topic-change: cleanup the locking and transaction mechanism The previous code did not garanted we would release all lock (and was a bit more complicated than needed.
Wed, 21 Jun 2017 07:21:50 +0530 topics: use a dict for successors of changesets produced by topic change
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 07:21:50 +0530] rev 2646
topics: use a dict for successors of changesets produced by topic change This patch adds a dictionary to store the successors of changesets which got obsoleted when we change it's topic. This is an improvement in the fix for issue5441.
Wed, 21 Jun 2017 11:55:45 +0200 topic: further simplify the clear logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Jun 2017 11:55:45 +0200] rev 2645
topic: further simplify the clear logic We just set 'topic' to None and the rest should follow.
Wed, 21 Jun 2017 03:28:25 +0530 topics: drop the clean argument from _changetopics()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 03:28:25 +0530] rev 2644
topics: drop the clean argument from _changetopics() After this commit, None will represent that we want to clean the topic.
Wed, 21 Jun 2017 02:00:01 +0530 topics: rename '--change' flag to '--rev' flag
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 02:00:01 +0530] rev 2643
topics: rename '--change' flag to '--rev' flag The --change flag was used to read a revset of which topic should be changed. In mercurial we use --rev for this type of flag. Now things will work as follows: `hg topics topicname`: It will set the current topic `hg topics topicname --rev revset`: Change topic of all the revs in the revset to topicname Further patches will try to achieve the following: `hg topics --clear --rev revset`: clear topic from all the revisions in the revset `hg topics --clear`: clear the current topic (Current behavior) `hg topics --rev revset`: show topics on the revisions in the revset
Wed, 21 Jun 2017 01:05:46 +0530 topics: factor out the logic to change topic in a new function
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 01:05:46 +0530] rev 2642
topics: factor out the logic to change topic in a new function It will help to refactor and fix bugs. Moreover we can re-use the logic.
Wed, 21 Jun 2017 11:45:15 +0200 obslog: update the readme
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Jun 2017 11:45:15 +0200] rev 2641
obslog: update the readme This is release not worthy
Wed, 21 Jun 2017 11:31:21 +0200 obslog: add a comment about the final new line of descriptions
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Jun 2017 11:31:21 +0200] rev 2640
obslog: add a comment about the final new line of descriptions
Tue, 20 Jun 2017 16:22:16 +0200 obslog: also display description patch with --patch
Boris Feld <boris.feld@octobus.net> [Tue, 20 Jun 2017 16:22:16 +0200] rev 2639
obslog: also display description patch with --patch When activating the --patch option, also display the description patch.
Wed, 21 Jun 2017 11:11:37 +0200 obslog: extra patch indentation code
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Jun 2017 11:11:37 +0200] rev 2638
obslog: extra patch indentation code The code is simple and we need to reuse it.
Tue, 20 Jun 2017 13:49:40 +0200 obslog: add a patch option
Boris Feld <boris.feld@octobus.net> [Tue, 20 Jun 2017 13:49:40 +0200] rev 2637
obslog: add a patch option Add support for '--patch' option in obslog for a similar effect than "hg log --patch". The patch support is only limited to a few basic cases that will be extended in the future.
Mon, 19 Jun 2017 19:00:31 +0200 obslog: clarify some sorting code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2017 19:00:31 +0200] rev 2636
obslog: clarify some sorting code I'm not sure why Boris did it, but this belong to the next patch.
Mon, 19 Jun 2017 15:56:28 +0200 obslog: pass directly unfiltered_repo
Boris Feld <boris.feld@octobus.net> [Mon, 19 Jun 2017 15:56:28 +0200] rev 2635
obslog: pass directly unfiltered_repo _debugobshistorydisplaynode used to create two times an unfiltered repo, makes _debugobshistoryrevs create only one unfiltered repo and pass it directly.
Mon, 19 Jun 2017 15:54:55 +0200 obslog: remove useless repo arg
Boris Feld <boris.feld@octobus.net> [Mon, 19 Jun 2017 15:54:55 +0200] rev 2634
obslog: remove useless repo arg _debugobshistorydisplaymarker used to takes repo as an argument but it isn't needed anymore.
Mon, 19 Jun 2017 15:32:25 +0200 obslog: small renaming of _debugobshistorysingle
Boris Feld <boris.feld@octobus.net> [Mon, 19 Jun 2017 15:32:25 +0200] rev 2633
obslog: small renaming of _debugobshistorysingle Rename _debugobshistorysingle to _debugobshistoryrevs in order to better reflect its purpose.
Mon, 19 Jun 2017 10:33:36 +0200 refactoring: directly use 'ctx.unstable()' in showstack function
Boris Feld <boris.feld@octobus.net> [Mon, 19 Jun 2017 10:33:36 +0200] rev 2632
refactoring: directly use 'ctx.unstable()' in showstack function This is simpler and more efficient.
Mon, 19 Jun 2017 18:46:30 +0200 packaging: flag default as version 6.5.0.dev
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2017 18:46:30 +0200] rev 2631
packaging: flag default as version 6.5.0.dev This helps to reduce confusion when installing intermediate version.
Mon, 19 Jun 2017 18:44:17 +0200 merge: get stable change back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2017 18:44:17 +0200] rev 2630
merge: get stable change back into default
Sat, 17 Jun 2017 01:02:37 +0200 obsfate: improve obsfate output stable
Boris Feld <boris.feld@octobus.net> [Sat, 17 Jun 2017 01:02:37 +0200] rev 2629
obsfate: improve obsfate output Improve obsfate output: * Remove newline and replace it by '; ' * Improve the hybrid object for making join(obsfate, '|') working.
Mon, 19 Jun 2017 18:37:28 +0200 packagin: mark stable branch as 6.4.1.dev stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2017 18:37:28 +0200] rev 2628
packagin: mark stable branch as 6.4.1.dev This help prevent confusion with installing intermediate version
Mon, 19 Jun 2017 03:13:35 +0530 topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Jun 2017 03:13:35 +0530] rev 2627
topics: abort if user wants to show the stack of a non-existent topic
Mon, 19 Jun 2017 02:50:35 +0530 stack: show unstable state for the current revision if it is one (issue5553)
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Jun 2017 02:50:35 +0530] rev 2626
stack: show unstable state for the current revision if it is one (issue5553) Before this patch if the current revision is unstable, hg stack does not show the unstable state. This patch fixes that by showing both current and unstable state for the current revision if that's unstable.
Mon, 19 Jun 2017 02:44:19 +0530 topics: some minute fixes to the documentation which shows up in help
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Jun 2017 02:44:19 +0530] rev 2625
topics: some minute fixes to the documentation which shows up in help I am not a native but these changes are simple and obvious.
Sun, 18 Jun 2017 03:23:46 +0530 topics: make sure we commit on new parents while changing topics (issue5441)
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Jun 2017 03:23:46 +0530] rev 2624
topics: make sure we commit on new parents while changing topics (issue5441) While changing topics of a set of linear commits, we used to commit our new changesets with new topic on parents of its predecessor i.e. changeset before the topic change. If the topic of parent was also changed, that parent will become obsolete and hence resulting the cnew commit in unstable state. For a set of linear commits this repeats and we end up in a tree state as mentioned in the bug. This patch fixes the bug by checking whether the parent was obsoleted and if yes, commit on the new parent.
Sun, 18 Jun 2017 03:20:52 +0530 tests: add a test to show issue5441 in test-topic.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Jun 2017 03:20:52 +0530] rev 2623
tests: add a test to show issue5441 in test-topic.t The issue will be fixed in the next patch and the test will be helpful to show that.
Sat, 17 Jun 2017 01:15:15 +0200 merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 17 Jun 2017 01:15:15 +0200] rev 2622
merge back with stable (test change from stable has been reverted)
Fri, 16 Jun 2017 20:15:17 +0200 Added tag 6.4.0 for changeset e60248f26f92 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 20:15:17 +0200] rev 2621
Added tag 6.4.0 for changeset e60248f26f92
Fri, 16 Jun 2017 20:15:04 +0200 packaging: prepare version 6.4.0 stable 6.4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 20:15:04 +0200] rev 2620
packaging: prepare version 6.4.0
Fri, 16 Jun 2017 20:13:13 +0200 readme: fix readme for future 6.4.0 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 20:13:13 +0200] rev 2619
readme: fix readme for future 6.4.0
Fri, 16 Jun 2017 19:48:24 +0200 test-compat: merge with mercurial-3.9 mercurial-3.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 19:48:24 +0200] rev 2618
test-compat: merge with mercurial-3.9
Fri, 16 Jun 2017 19:48:10 +0200 test-compat: merge with mercurial-4.0 mercurial-3.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 19:48:10 +0200] rev 2617
test-compat: merge with mercurial-4.0
Fri, 16 Jun 2017 19:47:35 +0200 test-compat: merge with mercurial-4.1 mercurial-4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 19:47:35 +0200] rev 2616
test-compat: merge with mercurial-4.1
Fri, 16 Jun 2017 19:27:36 +0200 compat-test: merge with stable mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 19:27:36 +0200] rev 2615
compat-test: merge with stable
Fri, 16 Jun 2017 19:37:13 +0200 test-compat: fix previous merge mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 19:37:13 +0200] rev 2614
test-compat: fix previous merge The merge was a bit too heavy handed in dropping some part of the test.
Fri, 16 Jun 2017 19:22:38 +0200 merge with default stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 19:22:38 +0200] rev 2613
merge with default Integrate new development around obsfate.
Fri, 16 Jun 2017 18:38:04 +0200 obsfate: by default only display the username if differ from the current one
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 18:38:04 +0200] rev 2612
obsfate: by default only display the username if differ from the current one This will will keep the output simple in the simple case.
Fri, 16 Jun 2017 18:03:32 +0200 obsfate: display more data about direct prune markers
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 18:03:32 +0200] rev 2611
obsfate: display more data about direct prune markers This does not handle all cases, but this should handle the most common ones.
Fri, 16 Jun 2017 17:58:17 +0200 obsfate: split markers fetch from successor set annotation
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:58:17 +0200] rev 2610
obsfate: split markers fetch from successor set annotation This will help to improve support for pruned changesets.
Fri, 16 Jun 2017 17:55:55 +0200 obsfate: mark successorsetallmarkers public
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:55:55 +0200] rev 2609
obsfate: mark successorsetallmarkers public We are about to use it in another module.
Fri, 16 Jun 2017 17:54:27 +0200 obsfate: mark 'preparesuccessorset' as public
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:54:27 +0200] rev 2608
obsfate: mark 'preparesuccessorset' as public It is used in another module so it is not really private.
Fri, 16 Jun 2017 16:51:31 +0200 obsfate: use 'split' as verb when appropriate
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 16:51:31 +0200] rev 2607
obsfate: use 'split' as verb when appropriate
Fri, 16 Jun 2017 16:50:11 +0200 obsfate: improve prune support in _successorsetverb
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 16:50:11 +0200] rev 2606
obsfate: improve prune support in _successorsetverb In the prune case, still have markers (at least the prune markers). If we want to be able to return these markers we need the underlying function to support it.
Fri, 16 Jun 2017 12:37:03 +0200 obsfate: rename 'successorsset' to 'sset' in the loop
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 12:37:03 +0200] rev 2605
obsfate: rename 'successorsset' to 'sset' in the loop The old name make it too close to 'successorssets', and the shorter name is not ambiguous in the context anyway.
Fri, 16 Jun 2017 17:42:28 +0200 template: use hex node in the obsmarkers used in the obsfate template
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:42:28 +0200] rev 2604
template: use hex node in the obsmarkers used in the obsfate template This was pointed by Yuya and yuya is right.
Fri, 16 Jun 2017 17:34:02 +0200 template: use hex successors in obsfate
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:34:02 +0200] rev 2603
template: use hex successors in obsfate This was spotted by Yuya.
Fri, 16 Jun 2017 17:21:49 +0200 template: use hex-node in successors
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:21:49 +0200] rev 2602
template: use hex-node in successors AS pointed by yuya on the list, the raw data for the template should be hex and not binary.
Fri, 16 Jun 2017 17:16:26 +0200 template: update successors doc
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:16:26 +0200] rev 2601
template: update successors doc I'm not very happy about it, but at lease there is a show description now
Fri, 16 Jun 2017 17:14:11 +0200 template: fix precursors documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:14:11 +0200] rev 2600
template: fix precursors documentation
Fri, 16 Jun 2017 17:11:20 +0200 template: used hex-node for the precursors underlying data
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 17:11:20 +0200] rev 2599
template: used hex-node for the precursors underlying data As pointed by yuya on mercurial-dev we should not use binary node here.
Fri, 16 Jun 2017 11:55:40 +0200 compat-test: merge with mercurial-3.9 mercurial-3.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 11:55:40 +0200] rev 2598
compat-test: merge with mercurial-3.9
Fri, 16 Jun 2017 11:54:01 +0200 test-compat: merge with mercurial-4.0 branch mercurial-3.9
Boris Feld <boris.feld@octobus.net> [Fri, 16 Jun 2017 11:54:01 +0200] rev 2597
test-compat: merge with mercurial-4.0 branch Minor merge conflict.
Fri, 16 Jun 2017 11:50:19 +0200 compat-test: merge with mercurial-4.1 mercurial-4.0
Boris Feld <boris.feld@octobus.net> [Fri, 16 Jun 2017 11:50:19 +0200] rev 2596
compat-test: merge with mercurial-4.1
Fri, 16 Jun 2017 11:42:00 +0200 compat-test: merge with stable mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jun 2017 11:42:00 +0200] rev 2595
compat-test: merge with stable * Blackbox format seems to have change when displaying config CLI options. * As obsfate template is now only compatible with hg 4.2+, remove all references to it in test files.
Fri, 16 Jun 2017 11:32:21 +0200 merge with stable stable
Boris Feld <boris.feld@octobus.net> [Fri, 16 Jun 2017 11:32:21 +0200] rev 2594
merge with stable
Fri, 16 Jun 2017 09:22:39 +0200 changelog: announce that obsfate is hg > 4.2 now
Boris Feld <boris.feld@octobus.net> [Fri, 16 Jun 2017 09:22:39 +0200] rev 2593
changelog: announce that obsfate is hg > 4.2 now Update changelog to announce the fact that obsfate has been improved and is now only compatible with mercurial version greater than 4.2.
Thu, 15 Jun 2017 20:40:07 +0200 compat: make obshistory._getdifflines compatible with mercurial 4.1
Boris Feld <boris.feld@octobus.net> [Thu, 15 Jun 2017 20:40:07 +0200] rev 2592
compat: make obshistory._getdifflines compatible with mercurial 4.1 On Mercurial version 4.1 and lower, patch.diff seems to returns an empty list when there is no change. Mercurial 4.2 returns None so we add a if for this case.
Fri, 09 Jun 2017 00:52:54 +0100 obsfate: add a new obsfate template
Boris Feld <boris.feld@octobus.net> [Fri, 09 Jun 2017 00:52:54 +0100] rev 2591
obsfate: add a new obsfate template The obsfate template display for each obsolete changeset a line summarizing what changed between the changeset and its successors. This dict is computed in obshistory._preparesuccessorset. It uses obshistory.FORMATSSETSFUNCTIONS which is a list of function that individually compute a part of each dict. You can override fields or add new ones by adding your own function in this list. The format of obsfate is computed in templatekw.obsfatedefaulttempl and can be wrapped if necessary, the code is not quite extendable for the moment but can be refactored later.
Fri, 09 Jun 2017 00:31:00 +0100 obsfate: prepare fatelog tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Jun 2017 00:31:00 +0100] rev 2590
obsfate: prepare fatelog tests Prepare obsfate venue by adding new blank output, it will helps clarify which are the new output due to obsfate or not.
Fri, 09 Jun 2017 00:10:27 +0100 obsfate: build more advanced markers for tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Jun 2017 00:10:27 +0100] rev 2589
obsfate: build more advanced markers for tests Prepare obsfate venue by building more advanced markers by varying obs markers users and dates.
Thu, 15 Jun 2017 17:18:25 +0200 readme: fix entry for 6.4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 17:18:25 +0200] rev 2588
readme: fix entry for 6.4.0 some data were missing and some were in the wrong spot
Thu, 15 Jun 2017 16:29:51 +0200 test: drop now useless config about effect flag
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 16:29:51 +0200] rev 2587
test: drop now useless config about effect flag The experiment is on by default now.
Wed, 14 Jun 2017 15:59:20 +0200 effectflag: activate effect flag by default
Boris Feld <boris.feld@octobus.net> [Wed, 14 Jun 2017 15:59:20 +0200] rev 2586
effectflag: activate effect flag by default Remove forcing effect-flag in test files
Fri, 02 Jun 2017 19:08:50 +0200 effectflag: activate effect flag on test-evolve-obshistory test file
Boris Feld <boris.feld@octobus.net> [Fri, 02 Jun 2017 19:08:50 +0200] rev 2585
effectflag: activate effect flag on test-evolve-obshistory test file Prepare activation of effect flag by default by activating it on test-evolve- obshistory.t test file first.
Sun, 04 Jun 2017 21:43:17 +0200 effectflag: activate effect flag on test-wireproto.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 21:43:17 +0200] rev 2584
effectflag: activate effect flag on test-wireproto.t test file Prepare activation of effect flag by default by activating it on test- wireproto.t test file first.
Sun, 04 Jun 2017 21:35:17 +0200 effectflag: activate effect flag on test-uncommit.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 21:35:17 +0200] rev 2583
effectflag: activate effect flag on test-uncommit.t test file Prepare activation of effect flag by default by activating it on test- uncommit.t test file first.
Sun, 04 Jun 2017 21:32:33 +0200 effectflag: activate effect flag on test-stabilize-order.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 21:32:33 +0200] rev 2582
effectflag: activate effect flag on test-stabilize-order.t test file Prepare activation of effect flag by default by activating it on test- stabilize-order.t test file first.
Sun, 04 Jun 2017 21:30:08 +0200 effectflag: activate effect flag on test-obsconvert.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 21:30:08 +0200] rev 2581
effectflag: activate effect flag on test-obsconvert.t test file Prepare activation of effect flag by default by activating it on test- obsconvert.t test file first.
Wed, 14 Jun 2017 16:01:56 +0200 effectflag: activate effect flag for obsmarkers-case-*.t test files
Boris Feld <boris.feld@octobus.net> [Wed, 14 Jun 2017 16:01:56 +0200] rev 2580
effectflag: activate effect flag for obsmarkers-case-*.t test files Prepare activation of effect flag by default by activating it on test- exchange-obsmarkers-case-*.t test file first.
Sun, 04 Jun 2017 20:53:36 +0200 effectflag: activate effect flag on test-drop.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 20:53:36 +0200] rev 2579
effectflag: activate effect flag on test-drop.t test file Prepare activation of effect flag by default by activating it on test-drop.t test file first.
Sun, 04 Jun 2017 20:51:50 +0200 effectflag: activate effect flag on test-amend.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 20:51:50 +0200] rev 2578
effectflag: activate effect flag on test-amend.t test file Prepare activation of effect flag by default by activating it on test- amend.t test file first.
Sun, 04 Jun 2017 20:47:04 +0200 effectflag: activate effect flag on test-stabilize-result.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 20:47:04 +0200] rev 2577
effectflag: activate effect flag on test-stabilize-result.t test file Prepare activation of effect flag by default by activating it on test- stabilize-result.t test file first.
Sun, 04 Jun 2017 20:43:22 +0200 effectflag: activate effect flag on test-split.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 20:43:22 +0200] rev 2576
effectflag: activate effect flag on test-split.t test file Prepare activation of effect flag by default by activating it on test-split.t test file first.
Sun, 04 Jun 2017 20:38:04 +0200 effectflag: activate effect flag on test-evolve-cycles.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 20:38:04 +0200] rev 2575
effectflag: activate effect flag on test-evolve-cycles.t test file Prepare activation of effect flag by default by activating it on test-evolve- cycles.t test file first.
Sun, 04 Jun 2017 20:33:45 +0200 effectflag: activate effect flag on test-evolve-obshistory-complex.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 20:33:45 +0200] rev 2574
effectflag: activate effect flag on test-evolve-obshistory-complex.t test file Prepare activation of effect flag by default by activating it on test-evolve- obshistory-complex.t test file first.
Sun, 04 Jun 2017 20:30:46 +0200 effectflag: activate effect flag on test-prune.t test file
Boris Feld <boris.feld@octobus.net> [Sun, 04 Jun 2017 20:30:46 +0200] rev 2573
effectflag: activate effect flag on test-prune.t test file Prepare activation of effect flag by default by activating it on test-prune.t test file first.
Fri, 02 Jun 2017 19:53:42 +0200 effectflag: activate effect flag on test-evolve.t test file
Boris Feld <boris.feld@octobus.net> [Fri, 02 Jun 2017 19:53:42 +0200] rev 2572
effectflag: activate effect flag on test-evolve.t test file Prepare activation of effect flag by default by activating it on test-evolve.t test file first.
Fri, 02 Jun 2017 19:33:21 +0200 effectflag: activate effect flag on test-obsolete test file
Boris Feld <boris.feld@octobus.net> [Fri, 02 Jun 2017 19:33:21 +0200] rev 2571
effectflag: activate effect flag on test-obsolete test file Prepare activation of effect flag by default by activating it on test- obsolete.t test file first.
Fri, 09 Jun 2017 01:39:42 +0100 obscache: directly allocate zeroed bytearray
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Jun 2017 01:39:42 +0100] rev 2570
obscache: directly allocate zeroed bytearray This is much faster that incrementally appending to it. On mozilla central without obsolescence markers this move full cache building from 0.3s to nothing visible.
Fri, 09 Jun 2017 01:26:29 +0100 obscache: plug on core 'update cache' method if available
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Jun 2017 01:26:29 +0100] rev 2569
obscache: plug on core 'update cache' method if available I was planning to have this implemented in core but since things are not getting in I'm updating evolve.
Thu, 15 Jun 2017 11:31:07 +0200 obscache: pre-indent code
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 11:31:07 +0200] rev 2568
obscache: pre-indent code This will make the next changeset clearer.
Thu, 15 Jun 2017 13:26:05 +0200 fix: fix _headssummary call to orig
Boris Feld <boris.feld@octobus.net> [Thu, 15 Jun 2017 13:26:05 +0200] rev 2567
fix: fix _headssummary call to orig 65cf338258d2 one of two orig call wasn't compatible with mercurial version < 4.3, fix it.
Thu, 15 Jun 2017 14:44:45 +0200 test-update: update hg update output in test files
Boris Feld <boris.feld@octobus.net> [Thu, 15 Jun 2017 14:44:45 +0200] rev 2566
test-update: update hg update output in test files Following hg revision 1b5c61d38a52, hg update now show the commit to which we updated in case of multiple heads. test-obsolete.t and test-sharing.t falls in these situations, acknowledge the new outputted line.
Thu, 15 Jun 2017 14:36:54 +0200 test-drop: all obsmarkers are now dropped
Boris Feld <boris.feld@octobus.net> [Thu, 15 Jun 2017 14:36:54 +0200] rev 2565
test-drop: all obsmarkers are now dropped Previously, hg drop may leave some obsmarkers behind, like with temporary amend commit. Following mercurial revision 71eb6a098315, strip now correctly remove the associated obsmarkers and as drop is also calling strip, the bug is now resolved.
Thu, 15 Jun 2017 13:10:43 +0200 test-evolve: garbage collection changeset only, not obsmarkers
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 13:10:43 +0200] rev 2564
test-evolve: garbage collection changeset only, not obsmarkers
Thu, 15 Jun 2017 13:03:45 +0200 test-inhibit: adapt to 4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 13:03:45 +0200] rev 2563
test-inhibit: adapt to 4.3 version 4.3 introduce markers stripping with strip. We adapt the test output to the (harmless) consequence.
Thu, 15 Jun 2017 13:00:16 +0200 test-exchange-case-D3: avoid stripping obsolescence marker
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 13:00:16 +0200] rev 2562
test-exchange-case-D3: avoid stripping obsolescence marker The test needs to have changeset unknown locally with obsolescence markers still applying to them. So we make sure the markers are not stripped (future 4.3 strip markers by default).
Thu, 15 Jun 2017 12:59:59 +0200 test-exchange-case-D2: avoid stripping obsolescence marker
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 12:59:59 +0200] rev 2561
test-exchange-case-D2: avoid stripping obsolescence marker The test needs to have changeset unknown locally with obsolescence markers still applying to them. So we make sure the markers are not stripped (future 4.3 strip markers by default).
Thu, 15 Jun 2017 12:59:38 +0200 test-exchange-case-D1: avoid stripping obsolescence marker
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2017 12:59:38 +0200] rev 2560
test-exchange-case-D1: avoid stripping obsolescence marker The test needs to have changeset unknown locally with obsolescence markers still applying to them. So we make sure the markers are not stripped (future 4.3 strip markers by default).
Wed, 14 Jun 2017 15:08:40 +0200 test: fix test-discovery-obshashrange.t new output
Boris Feld <boris.feld@octobus.net> [Wed, 14 Jun 2017 15:08:40 +0200] rev 2559
test: fix test-discovery-obshashrange.t new output Update test-discovery-obshashrange.t test file with new mercurial dev output.
Wed, 14 Jun 2017 13:56:40 +0200 fix: fix _headssummary api
Boris Feld <boris.feld@octobus.net> [Wed, 14 Jun 2017 13:56:40 +0200] rev 2558
fix: fix _headssummary api _headssummary now takes directly the pushop, update the topic extension wrapping to fix the API.
Wed, 31 May 2017 22:15:34 +0200 url: update url to point to https://www.mercurial-scm.org/repo/evolve stable
André Sintzoff <andre.sintzoff@gmail.com> [Wed, 31 May 2017 22:15:34 +0200] rev 2557
url: update url to point to https://www.mercurial-scm.org/repo/evolve
Thu, 08 Jun 2017 20:52:40 +0100 doc: document the evolve templates
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Jun 2017 20:52:40 +0100] rev 2556
doc: document the evolve templates
Thu, 08 Jun 2017 02:58:54 +0100 test: fix template condition for obsfate
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Jun 2017 02:58:54 +0100] rev 2555
test: fix template condition for obsfate
Wed, 07 Jun 2017 10:22:00 +0100 obscache: add a missing "new line" at the end of a debug message stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Jun 2017 10:22:00 +0100] rev 2554
obscache: add a missing "new line" at the end of a debug message
Wed, 07 Jun 2017 01:38:48 +0100 default: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Jun 2017 01:38:48 +0100] rev 2553
default: merge back with stable
Mon, 05 Jun 2017 10:21:38 +0100 obscache: shortcut the attribute access for testing
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 05 Jun 2017 10:21:38 +0100] rev 2552
obscache: shortcut the attribute access for testing The attribute access adds a significant overhead. we can gain -20% performance by doing so.
Wed, 07 Jun 2017 00:48:12 +0100 obshashrange: add an option to protect from accidental activation stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Jun 2017 00:48:12 +0100] rev 2551
obshashrange: add an option to protect from accidental activation The new 'obshashrange.max-revs' option is meant to help large installation like bitbucket to avoid impact on repositories that cannot handle it.
Wed, 07 Jun 2017 00:12:08 +0100 obshashrange: basic proof reading of the documentation stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Jun 2017 00:12:08 +0100] rev 2550
obshashrange: basic proof reading of the documentation Nothing major but this should be a bit better.
Mon, 05 Jun 2017 10:21:26 +0100 proofread stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 05 Jun 2017 10:21:26 +0100] rev 2549
proofread
Fri, 02 Jun 2017 19:07:35 +0200 effectflag: fix content change detection for filtered revs stable
Boris Feld <boris.feld@octobus.net> [Fri, 02 Jun 2017 19:07:35 +0200] rev 2548
effectflag: fix content change detection for filtered revs In some cases (like amended an obsolete changeset), computing the diff and comparing them need to work with filtered revisions. We need to use unfiltered change contexts to safely compute diffs.
Mon, 05 Jun 2017 10:15:00 +0100 debugobsstorestat: adds static about actually obsolete changeses stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 05 Jun 2017 10:15:00 +0100] rev 2547
debugobsstorestat: adds static about actually obsolete changeses
Tue, 06 Jun 2017 15:10:13 -0700 evolve: fix typo: -list -> --list stable
Kyle Lippincott <spectral@google.com> [Tue, 06 Jun 2017 15:10:13 -0700] rev 2546
evolve: fix typo: -list -> --list
Thu, 01 Jun 2017 16:26:00 +0200 Added tag 6.3.1 for changeset e358c0263e46 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 16:26:00 +0200] rev 2545
Added tag 6.3.1 for changeset e358c0263e46
Thu, 01 Jun 2017 16:25:50 +0200 prepare release 6.3.1 stable 6.3.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 16:25:50 +0200] rev 2544
prepare release 6.3.1
Thu, 01 Jun 2017 03:35:45 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 03:35:45 +0200] rev 2543
merge with stable
Thu, 01 Jun 2017 03:32:10 +0200 packaging: bump to 6.4.0.dev
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 03:32:10 +0200] rev 2542
packaging: bump to 6.4.0.dev
Thu, 01 Jun 2017 03:19:07 +0200 serveronly: also backport the fixes from 5adb8bdb935e stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 03:19:07 +0200] rev 2541
serveronly: also backport the fixes from 5adb8bdb935e The fixes to the computation of "relevant" markers. Was missing for server only.
Thu, 01 Jun 2017 02:48:58 +0200 merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 02:48:58 +0200] rev 2540
merge stable back into default
Thu, 01 Jun 2017 02:31:31 +0200 readme: merge 6.2.2 and 6.3.0 changelog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 02:31:31 +0200] rev 2539
readme: merge 6.2.2 and 6.3.0 changelog 6.2.2 never happened.
Thu, 01 Jun 2017 02:30:55 +0200 packaging: mark as version 6.3.1.dev stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 02:30:55 +0200] rev 2538
packaging: mark as version 6.3.1.dev This reduce confusion when installing version from source.
Thu, 01 Jun 2017 02:28:36 +0200 readme: clarify the branch policy stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Jun 2017 02:28:36 +0200] rev 2537
readme: clarify the branch policy
Wed, 31 May 2017 14:36:25 +0200 Added tag 6.3.0 for changeset 6da4ca7b3e4f stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 May 2017 14:36:25 +0200] rev 2536
Added tag 6.3.0 for changeset 6da4ca7b3e4f
Wed, 31 May 2017 14:35:21 +0200 packaging: prepare release 6.3.0 stable 6.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 May 2017 14:35:21 +0200] rev 2535
packaging: prepare release 6.3.0
Wed, 31 May 2017 14:29:16 +0200 test-compat: merge with mercurial-3.9 mercurial-3.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 May 2017 14:29:16 +0200] rev 2534
test-compat: merge with mercurial-3.9
Wed, 31 May 2017 14:28:14 +0200 test-compat: merge with mercurial-4.0 branch mercurial-3.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 May 2017 14:28:14 +0200] rev 2533
test-compat: merge with mercurial-4.0 branch 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.
Wed, 31 May 2017 14:23:45 +0200 test-compat: merge with mercurial-4.1 mercurial-4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 May 2017 14:23:45 +0200] rev 2532
test-compat: merge with mercurial-4.1 hg log has no trouble field in mercurial 4.0, output fixed.
Wed, 31 May 2017 14:21:18 +0200 test-compat: merge with stable mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 May 2017 14:21:18 +0200] rev 2531
test-compat: merge with stable Nothing special to report, minor test-metaedit.t output change.
Wed, 31 May 2017 14:12:33 +0200 merge with default stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 May 2017 14:12:33 +0200] rev 2530
merge with default
Wed, 31 May 2017 12:09:24 +0200 compat: fix stablerange for mercurial 3.9
Boris Feld <boris.feld@octobus.net> [Wed, 31 May 2017 12:09:24 +0200] rev 2529
compat: fix stablerange for mercurial 3.9 Lrudict.get change of api between mercurial 3.9 and mercurial 4.2. Bypass this limitation by using lrudict.__getitem__ and catch the KeyError directly.
Tue, 30 May 2017 22:09:28 +0200 template: fix successors and precursors templates
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 22:09:28 +0200] rev 2528
template: fix successors and precursors templates In mercurial 4.1-, the gen argument is expected to be an iterator and not an iterable, fix successors and precursors templates.
Tue, 30 May 2017 19:59:57 +0200 lint: remove double newline in test file
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 19:59:57 +0200] rev 2527
lint: remove double newline in test file Test file test-stablesort-criss-cross.t contained two double newline, I remove them.
Tue, 30 May 2017 19:43:14 +0200 template: fix precursors template for older mercurial version
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 19:43:14 +0200] rev 2526
template: fix precursors template for older mercurial version In mercurial 4.1 and below templatekw._hybrid require the gen argument to be different than None. Manually compute the same default output for these older mercurial versions.
Tue, 30 May 2017 13:16:43 +0200 compatibility: backport mercurial 176d1a0ce385
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 13:16:43 +0200] rev 2525
compatibility: backport mercurial 176d1a0ce385 Backport obsstore.relevantmarkers change for including previously forgotten pruned obs markers. Target mercurial version lesser than 4.3. This impact multiple tests. All test changes has been manually checked. Since the computation of relevant obsmarkers have changed, we are bumping the cache schema version. So that caches get recomputed.
Tue, 30 May 2017 17:39:00 +0200 evolve: fix import order
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 17:39:00 +0200] rev 2524
evolve: fix import order
Fri, 26 May 2017 14:47:33 +0200 compat: adapt to buildobsmarkerspart move
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 May 2017 14:47:33 +0200] rev 2523
compat: adapt to buildobsmarkerspart move The function has been moved in e70d6dbde713 so we must we search in both location.
Tue, 30 May 2017 11:06:24 +0200 effetflag: detect other meta (extra) changes
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 11:06:24 +0200] rev 2522
effetflag: detect other meta (extra) changes Check other changeset meta other than branch and *_source and if there is a change, set the METACHANGED effect flag. Add a test for this scenario with a topic change.
Tue, 30 May 2017 17:32:39 +0200 obsdiscovery: add an option to disable all obsdiscovery
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 17:32:39 +0200] rev 2521
obsdiscovery: add an option to disable all obsdiscovery On large repository, computing the obshashtree can we as slow as resending everything. We give the option for people to opt out.
Tue, 30 May 2017 11:39:45 +0200 effectflag: better diff detection
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 11:39:45 +0200] rev 2520
effectflag: better diff detection Improve the diff detection algorithm to have less false positive like in the case of a rebase that move the hunk in the file but the hunk stays the same.
Tue, 30 May 2017 11:38:30 +0200 effectflag: add a test for content detection
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 11:38:30 +0200] rev 2519
effectflag: add a test for content detection Add a test for diff detection when the diff is different but only because of line numbers. The test is a append at the end of the file and we try to rebase it. We shouldn't detect a content change, it will be done in the next patch.
Tue, 30 May 2017 14:46:36 +0200 test: fix test-evolve-effectflags dates
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 14:46:36 +0200] rev 2518
test: fix test-evolve-effectflags dates Mercurial < 4.3 don't have default date so add globs in the test-metaedit.t file.
Tue, 30 May 2017 14:43:20 +0200 test: fix metaedit tests by forcing dates
Boris Feld <boris.feld@octobus.net> [Tue, 30 May 2017 14:43:20 +0200] rev 2517
test: fix metaedit tests by forcing dates Mercurial < 4.3 don't have default date so restore aliases forcing date in the test-metaedit.t file.
Tue, 30 May 2017 16:39:59 +0200 test: split test-stablesort.t in two
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 16:39:59 +0200] rev 2516
test: split test-stablesort.t in two This is the longest running test so we split it in two to help with parallel execution.
Tue, 30 May 2017 13:01:11 +0200 obsdiscovery: automatically pick protocol in a list
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 13:01:11 +0200] rev 2515
obsdiscovery: automatically pick protocol in a list This makes the code cleaner, clearer and more flexible. This also prepare the ability to disable obsmarkers discover entirely.
Tue, 30 May 2017 14:35:40 +0200 obsdiscovery: extract push-obshashtree discovery in a function
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 14:35:40 +0200] rev 2514
obsdiscovery: extract push-obshashtree discovery in a function This will help use to simplify the code.
Tue, 30 May 2017 14:27:26 +0200 obsdiscovery: directly use the 'only' revset for obshashtree
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 14:27:26 +0200] rev 2513
obsdiscovery: directly use the 'only' revset for obshashtree The revset now exists and is fast. This remove the needs to hold a reference to "revs" in that code.
Tue, 30 May 2017 14:21:10 +0200 obsdiscovery: extract push-obshashrange discovery in a function
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 14:21:10 +0200] rev 2512
obsdiscovery: extract push-obshashrange discovery in a function This will help us to simplify the code. The code is updated to directly use 'outgoing' missing so that is no longer needs to access 'futureheads'.
Tue, 30 May 2017 14:09:06 +0200 obsdiscovery: merge two distinct if statement
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 14:09:06 +0200] rev 2511
obsdiscovery: merge two distinct if statement It did not made any sense for them to be split.
Tue, 30 May 2017 12:32:14 +0200 obsdiscovery: extract '_canobshashtree'
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 12:32:14 +0200] rev 2510
obsdiscovery: extract '_canobshashtree' having this as a simple function will help use to generalise the obsdiscovery algorithm we use.
Tue, 30 May 2017 12:26:57 +0200 obsdiscovery: move code inserting discovery at the end of the file
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 12:26:57 +0200] rev 2509
obsdiscovery: move code inserting discovery at the end of the file This makes it easier to reuser function defined earlier in the file.
Tue, 30 May 2017 12:15:52 +0200 obsdiscovery: trust core to do the right thing if no discovery is available
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 12:15:52 +0200] rev 2508
obsdiscovery: trust core to do the right thing if no discovery is available This is fixed for a long time now.
Tue, 30 May 2017 12:13:14 +0200 obsdiscovery: factor the "do we push markers" check out
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 12:13:14 +0200] rev 2507
obsdiscovery: factor the "do we push markers" check out This clarify the code a bit.
Tue, 30 May 2017 11:55:58 +0200 stablerange: also respect the 'warm-cache' config
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 11:55:58 +0200] rev 2506
stablerange: also respect the 'warm-cache' config This will help large install to enable obshashrange as "opt-in" without impacting other repositories.
Tue, 30 May 2017 11:49:00 +0200 debugstablerange: cleanly "Abort" when no revision are specified
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 11:49:00 +0200] rev 2505
debugstablerange: cleanly "Abort" when no revision are specified Previously we had a traceback from a max on an empty sequence.
Tue, 30 May 2017 11:12:02 +0200 stablerange: use last recently used caching for revisions associated to ranges
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 11:12:02 +0200] rev 2504
stablerange: use last recently used caching for revisions associated to ranges This does not make things faster but at least it make them able to finish on large repositories.
Tue, 30 May 2017 11:12:12 +0200 stablerange: report progress more often in slow case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 May 2017 11:12:12 +0200] rev 2503
stablerange: report progress more often in slow case For small repositories the time spent in progress was problematic. However on large repository it quickly becomes negligible, so we add a way to detect this case and report more often in this case.
Mon, 29 May 2017 14:03:31 +0200 template: update successors template output
Boris Feld <boris.feld@octobus.net> [Mon, 29 May 2017 14:03:31 +0200] rev 2502
template: update successors template output Use templatekw._hybrid as return value for precursor template, it's nicer and easier to play with than returning a formatted string.
Mon, 29 May 2017 17:54:14 +0200 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net> [Mon, 29 May 2017 17:54:14 +0200] rev 2501
test: extract metaedit tests into test-metaedit.t test file The metaedit command deserver it own test file and this shave of 15% of the runtime of test-evolve.t one of our longest tests.
Mon, 29 May 2017 12:15:47 +0200 template: update precursors template output
Boris Feld <boris.feld@octobus.net> [Mon, 29 May 2017 12:15:47 +0200] rev 2500
template: update precursors template output Use templatekw._hybrid as return value for precursor template, it's nicer and easier to play with than returning a formatted string.
Mon, 29 May 2017 17:16:15 +0200 template: skip "fate" in test output when empty
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 17:16:15 +0200] rev 2499
template: skip "fate" in test output when empty This should clarify the test output a bit.
Mon, 29 May 2017 17:13:21 +0200 template: skip "successors" in test output when empty
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 17:13:21 +0200] rev 2498
template: skip "successors" in test output when empty This should clarify the test output a bit.
Mon, 29 May 2017 17:10:45 +0200 template: make the template definition more manageable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 17:10:45 +0200] rev 2497
template: make the template definition more manageable Readable config is readable
Mon, 29 May 2017 17:07:23 +0200 template: skip "Precursors" in test output when empty
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 17:07:23 +0200] rev 2496
template: skip "Precursors" in test output when empty This should clarify the test output a bit.
Mon, 29 May 2017 16:59:59 +0200 template: move each template on its own line during tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 16:59:59 +0200] rev 2495
template: move each template on its own line during tests This will clarify the various coming changes around template.
Mon, 29 May 2017 11:03:13 +0200 refactoring: rename obsfate template to obsfate_quiet
Boris Feld <boris.feld@octobus.net> [Mon, 29 May 2017 11:03:13 +0200] rev 2494
refactoring: rename obsfate template to obsfate_quiet As I don't know how to handle templates arguments, create different templates for each verbosity level wanted.
Mon, 29 May 2017 16:39:32 +0200 doc: add documentation about effectflag experiment
Boris Feld <boris.feld@octobus.net> [Mon, 29 May 2017 16:39:32 +0200] rev 2493
doc: add documentation about effectflag experiment
Fri, 26 May 2017 18:27:59 +0200 effectflag: split effect flag meta
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 18:27:59 +0200] rev 2492
effectflag: split effect flag meta Split effect flag meta into 3 separate flags: - USERCHANGED - DATECHANGED - BRANCHCHANGED Also display them separately for the moment, they could be grouped back together if we want later.
Fri, 26 May 2017 21:31:07 +0200 tests: update missing amend
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 May 2017 21:31:07 +0200] rev 2491
tests: update missing amend (I need a hook)
Fri, 26 May 2017 19:21:36 +0200 template: update obsfate to be more human friendly
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 19:21:36 +0200] rev 2490
template: update obsfate to be more human friendly Approach the obslog output for the moment.
Fri, 26 May 2017 13:28:49 +0200 template: add the obsfate template
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 13:28:49 +0200] rev 2489
template: add the obsfate template Reuse _getobsoletefate and nextvisiblesuccessors to easily get the obsolescence fate of any node. The limitation is that obsfate is as precise as these two functions, which is not great for nextvisiblesuccessors.
Fri, 26 May 2017 13:18:26 +0200 refactor: extract obs fate algorithm from _getobsoletereason
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 13:18:26 +0200] rev 2488
refactor: extract obs fate algorithm from _getobsoletereason Refactor _getobsoletereason to extract the obs fate computation into a separate function, it will be used later and put it in obshistory as it will be needed in other files. Rename _getobsoletereason to _getobsoletefateandsuccessors.
Fri, 26 May 2017 10:05:37 +0200 template: add successors template
Boris Feld <boris.feld@octobus.net> [Fri, 26 May 2017 10:05:37 +0200] rev 2487
template: add successors template The successors templates display the closest visible successors of each changeset, we may have gap, like in this case: A -> B -> C -> D If we display A, C and D but not B, we can't display than B is the closest successor of A because it's not displayed. We display C as the closest successor of A instead.
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)
Mon, 01 May 2017 08:05:45 +0200 perf: adds some cache key helper on the obsstore class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:05:45 +0200] rev 2294
perf: adds some cache key helper on the obsstore class This will be useful to allow validating cache depending on obsstore without parsing the whole obsstore.
Mon, 01 May 2017 06:06:41 +0200 compat: only install the better filtered message for mercurial 4.2 and above
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 06:06:41 +0200] rev 2293
compat: only install the better filtered message for mercurial 4.2 and above The helper function does not exist in earlier version.
Sat, 29 Apr 2017 05:35:01 +0200 evolve: update extension help
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Apr 2017 05:35:01 +0200] rev 2292
evolve: update extension help I'm pretty sure there are some missing bits, but this cannot be worse than before.
Sat, 29 Apr 2017 05:44:07 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Apr 2017 05:44:07 +0200] rev 2291
merge with stable
Fri, 28 Apr 2017 16:56:09 +0200 ui: change the hidden revision error message
Boris Feld <boris.feld@octobus.net> [Fri, 28 Apr 2017 16:56:09 +0200] rev 2290
ui: change the hidden revision error message It now display the same details than the warning when the working directory parent become obsolete like: $ hg update 0 abort: hidden revision '0' (successor: f301a99bd857)! $ hg up 1 abort: hidden revision '1' (pruned)! $ hg update 0 abort: hidden revision '0' (successors: 91311af6da10, 70653776ec4c)!
Fri, 28 Apr 2017 16:57:41 +0200 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net> [Fri, 28 Apr 2017 16:57:41 +0200] rev 2289
ui: add better messages when the working copy become obsolete.
Fri, 28 Apr 2017 15:29:32 +0200 topic: directly use "super" call
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Apr 2017 15:29:32 +0200] rev 2288
topic: directly use "super" call That is how one is supposed to do it.
Thu, 27 Apr 2017 20:52:09 +0200 repo: properly progate "destroyed" call to super class stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 27 Apr 2017 20:52:09 +0200] rev 2287
repo: properly progate "destroyed" call to super class The propagation of the 'destroyed' call was dropped. I'm not certain of the consequences of having a partially broken "destroyed" call, but this can't be good.
Tue, 25 Apr 2017 10:56:55 +0200 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 25 Apr 2017 10:56:55 +0200] rev 2286
safeguard: add an option to disable automatic publishing Pushing to publishing server by mistake is a bit too common in the current state of evolve. Especially when the lack of good feature branch story make the use of -f a bit too common. So we add a very simple experimental option to allow warning (or abort) when changeset are pushed to a publishing server. This is unlikely to survive as is, but this is useful now.
Thu, 20 Apr 2017 13:05:45 +0200 merge back with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 13:05:45 +0200] rev 2285
merge back with stable
Thu, 20 Apr 2017 13:04:31 +0200 Added tag 6.0.1 for changeset 5ef112a6eb87 stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 13:04:31 +0200] rev 2284
Added tag 6.0.1 for changeset 5ef112a6eb87
Thu, 20 Apr 2017 12:59:19 +0200 pkg: prepare release 6.0.1 stable 6.0.1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 12:59:19 +0200] rev 2283
pkg: prepare release 6.0.1
Thu, 20 Apr 2017 12:58:27 +0200 debian: finalize 6.0.0 entry stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 12:58:27 +0200] rev 2282
debian: finalize 6.0.0 entry
Thu, 20 Apr 2017 12:54:57 +0200 readme: fix 6.0.0 release date stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 12:54:57 +0200] rev 2281
readme: fix 6.0.0 release date It was March, not February.
Thu, 20 Apr 2017 12:50:22 +0200 merge with future 6.0.1 mercurial-3.8
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 12:50:22 +0200] rev 2280
merge with future 6.0.1 Nothing special to report
Thu, 20 Apr 2017 12:48:31 +0200 merge with future 6.0.1 mercurial-3.9
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 12:48:31 +0200] rev 2279
merge with future 6.0.1 Nothing special to report
Thu, 20 Apr 2017 12:45:02 +0200 merge with future 6.0.1 mercurial-4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 12:45:02 +0200] rev 2278
merge with future 6.0.1 Nothing special to report
Thu, 20 Apr 2017 12:24:43 +0200 checkheads: update tests to match the one in core stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 12:24:43 +0200] rev 2277
checkheads: update tests to match the one in core These test now exists in core, so we update the evolve version.
Thu, 20 Apr 2017 11:43:57 +0200 serveronly: fix reposetup stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 11:43:57 +0200] rev 2276
serveronly: fix reposetup The local 'reposetup' function was shadowing the extension helper one. We add a test for obshashrange using 'serveronly' since this is the item that made use discover the issue.
Thu, 20 Apr 2017 11:41:20 +0200 extension: simplify the extensions helper hierarchy stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 20 Apr 2017 11:41:20 +0200] rev 2275
extension: simplify the extensions helper hierarchy If one mode depends on the other, its extensions helper is merged.
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.
(0) -1000 -480 +480 +1000 tip