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
(0) -1000 -300 -100 -60 +60 +100 +300 +1000 tip