Thu, 29 Jun 2017 02:21:09 +0530 topic: don't abort if there is no current topic in stack() revset
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Jun 2017 02:21:09 +0530] rev 2682
topic: don't abort if there is no current topic in stack() revset Named branches support has been added and we should not abort if there is no active topic.
Thu, 29 Jun 2017 01:58:26 +0530 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Jun 2017 01:58:26 +0530] rev 2681
topics: return a parse error if stack() revset is passed with argument
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
(0) -1000 -300 -100 -56 +56 +100 +300 +1000 tip