Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 02:35:12 +0200] rev 2742
prev: add '_getcurrenttopic' helper and use it
We'll add more spot where this information is used.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 02:34:42 +0200] rev 2741
prev: explicitly use 'p1' as a variable name
This make the code clearer.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 01:53:56 +0200] rev 2740
topic: rename the internal topic option
we'll use it more widely so I give it a more generic name. It is an internal option so not wories regarding compatibility.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 01:49:43 +0200] rev 2739
prev: extract the code computing the destination
This make the handling of the result simpler. The test agree as one return code
is fixed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 01:32:34 +0200] rev 2738
prev: issue a proper error when reaching repository root
(and adds the associated test)
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 01:21:32 +0200] rev 2737
prev: stop creating a repository at the root of 'test-repo.t'
We run the test in a subdirectory now, this usually avoid various kind of future issue.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 01:12:20 +0200] rev 2736
prev: extract the function performing the update
That code is fairly independant so let us isolate it to simplify the rest of
the code.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 01:01:22 +0200] rev 2735
prev: simplify the bookmark preserving logic
We can use 'None' as a special value and have a simpler code.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 00:58:14 +0200] rev 2734
prev: rename 'p' to 'target'
This makes the code clearer.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 14 Jul 2017 00:54:48 +0530] rev 2733
topics: check for topic on commit before a user enters message
We have a enforce-topic cofig which can forbid user to commit without a topic on
it. We used to check topic on a commit after the user enters message, but we
should fail early.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jul 2017 03:14:27 +0200] rev 2732
packaging: update readme
I forgot again.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 11 Jul 2017 21:39:39 +0530] rev 2731
topics: add a new flag --age which will show last touched time for topics
This adds a new flag `--age` to `hg topic` command which will show topics
sorted by their last touched time and will also show the last touched time for
them.
This patch also adds a simple test to make sure the flag does not breaks by
future changes. Adding more tests showing output like "3 hours ago", "2 minutes
ago" etc will change as the code takes time.time() into account which will
increase with time, and hence the output will change, so we need some static
output like a date.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jul 2017 11:24:43 +0200] rev 2730
uncommit: expose the feature with a '--extract' to amend
The name of the "uncommit" feature have been an ongoing issue, but no better
name have been found in the past year. We try another approach by exposing the
'uncommit' feature directly in `hg amend`. The command will not be able to do
both operation a the same time (add new change to the commit + extract should
change, but this is already the case with the two command today.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jul 2017 12:00:45 +0200] rev 2729
uncommit: add support for -U and -D
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jul 2017 11:59:18 +0200] rev 2728
uncommit: add support for --user and --date
This is also long overdue
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jul 2017 11:58:07 +0200] rev 2727
uncommit: add support for --message and --logfile
This is long overdue.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jul 2017 11:12:23 +0200] rev 2726
amend: drop the implementation details from the user help
This is not relevant to users.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jul 2017 10:55:06 +0200] rev 2725
uncommit: move to the 'evocommands' module
We are about to play around with a UI mixing amend and uncommit, we take
advantage of this to split the __init__.py module a bit more.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jul 2017 10:38:01 +0200] rev 2724
amend: extract into a 'evolve.evocommands' module
We are about to play around with a UI mixing amend and uncommit, we take
advantage of this to split the __init__.py module a bit more.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Jul 2017 16:09:08 +0200] rev 2723
test: handle output change in 20f533a92eda
The bundle backup name has changed.
Josef 'Jeff' Sipek <jeffpc@josefsipek.net> [Sun, 09 Jul 2017 15:01:32 +0300] rev 2722
tutorial: fix grammar and spelling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net> [Sun, 09 Jul 2017 14:23:27 +0300] rev 2721
tutorial: word wrap long lines
Josef 'Jeff' Sipek <jeffpc@josefsipek.net> [Sun, 09 Jul 2017 14:20:24 +0300] rev 2720
tutorial: use rm instead of 'hg rm' for an untracked temporary file
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 09 Jul 2017 14:41:13 +0200] rev 2719
readme: update with various topic improvement
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 06 Jul 2017 03:31:11 +0530] rev 2718
topics: add a config knob to forbid untopiced commit
After this patch one can add the following to their hgrc to stop allowing new
commits with no topic on it.
[experimental]
enforce-topic = yes
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 06 Jul 2017 03:56:36 +0530] rev 2717
topics: update the help for `hg topics` describing ways to use the command
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jul 2017 01:01:01 +0200] rev 2716
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jul 2017 23:33:28 +0200] rev 2715
obshashrange: add cache warming instruction to the documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Jul 2017 10:49:14 +0200] rev 2714
evolve: explain how to disable markers discovery in the documentation
This is useful for large repository.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jul 2017 23:33:28 +0200] rev 2713
obshashrange: add cache warming instruction to the documentation
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 04 Jul 2017 01:30:14 +0530] rev 2712
topics: add t0 and b0 to the stack
t0 or b0 will be the base of the stack and it's the parent of t1 or b1. The cool
thing about this is that if you update to t0 using `hg up t0` or do `hg prev` on
t1, you will be updated to t0 with the current topic preserved.
This patch adds t0 to stack and implement the preserving topic case for t0 while
using `hg update`.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 04 Jul 2017 00:15:36 +0530] rev 2711
topics: wrap the update function to check if either t0 or b0 is passed as rev
t0 or b0, seriously, what's that. Do they even exist? Hold on and look for the
next commits what we are trying to do.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jul 2017 00:42:18 +0200] rev 2710
compat: adapt to change in 53b3a1968aa6-core
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 19:43:44 +0200] rev 2709
merge back with stable
(version updated in the process)
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 19:42:23 +0200] rev 2708
packaging: update versions to '.dev' one
This help to spot install from unreleased source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 19:40:56 +0200] rev 2707
Added tag 6.5.0 for changeset 734c0bc066cd
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 19:35:38 +0200] rev 2706
packaging: prepare version 6.5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 19:34:30 +0200] rev 2705
topic: update extensions metadata
Let us assign a version number to this release and add some more data about the
extensions.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 19:31:11 +0200] rev 2704
readme: prepare version 6.5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 17:28:53 +0200] rev 2703
compat: merge with mercurial-3.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 17:28:38 +0200] rev 2702
compat: merge with mercurial-4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 17:28:15 +0200] rev 2701
compat: merge with mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 18:22:39 +0200] rev 2700
compat: merge with stable
Nothing to report beside the drop of the obsfate related tests.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 18:07:23 +0200] rev 2699
evolve: preserve the branch of the original changeset when evolving merge
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 17:24:56 +0200] rev 2698
merge: default into stable to prepare next version
Let us prepare ourself for 6.5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 17:13:35 +0200] rev 2697
obslog: handle patch generation for mercurial 4.1-
The unidiff API changed, we detect and work around that.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 16:39:48 +0200] rev 2696
topic: also have the revbranchcache during the discovery
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 16:00:38 +0200] rev 2695
topic: cleanup the repository wrapping logic in topic discovery
We are know overriding the class so we do not need to update and restore the
pushop itself.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 15:02:51 +0200] rev 2694
topic: adapt to function migrate to obsutil
Mercurial 4.3 has a new module "obsutil" and multiple functions moved there. We
handle the move for the one we care about.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 15:02:11 +0200] rev 2693
evolve: adapt to function migrate to obsutil
Mercurial 4.3 has a new module "obsutil" and multiple functions moved there. We
handle the move for the one we care about.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 14:10:44 +0200] rev 2692
topic: directly use the '_notpublic' revset
This is just more robust to achieve the same goal.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 13:49:32 +0200] rev 2691
topic: drop the message about running evolve after topic change
Topic change is no longer creating a mess that needs cleaning.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Jul 2017 13:48:45 +0200] rev 2690
template: handle lack of "users" in the obsfate data
This can happens when their are no markers (or the markers has no user data?)
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 16:29:26 +0200] rev 2689
doc: update effect flag documentation
Boris Feld <boris.feld@octobus.net> [Mon, 26 Jun 2017 17:20:08 +0200] rev 2688
obsfate: override the default log output
Override the default log output by showing obsfate if not empty.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 29 Jun 2017 23:42:29 +0200] rev 2687
evolve: fix documentation formatting
The config example were formatted as standard paragraph.
Boris Feld <boris.feld@octobus.net> [Thu, 29 Jun 2017 18:22:06 +0200] rev 2686
compat: fix topicset for mercurial 4.1
The 'getrevset' method is not available there.
Boris Feld <boris.feld@octobus.net> [Mon, 26 Jun 2017 17:19:03 +0200] rev 2685
obsfate: refactor obsfate data computing
Refactor how obsfate data are computed in order to reuse this logic later when
hooking on default log output.
Boris Feld <boris.feld@octobus.net> [Thu, 29 Jun 2017 16:49:33 +0200] rev 2684
topic: exclude public and topic changeset from branch stack
Stack use-case is to show the current work in progress, which are symbolized by
the phase draft and secret phase. Moreover showing public changesets in stack
output when displaying current branch would display a lot of changesets for
long-lived branches and would be quite useless.
We also exclude topic changeset form the stack since they already exist on their
own stack.
getstack revsets didn't needed update when displaying a topic as when a
changeset become public, its topic is no longer relevant.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 29 Jun 2017 16:29:08 +0200] rev 2683
tests: use a more portable form for new lines
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.
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
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Jun 2017 00:11:07 +0530] rev 2680
tests: add test to show topics working with shelve
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.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 27 Jun 2017 23:28:58 +0530] rev 2678
docs: some fixes to the help text
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 26 Jun 2017 21:48:33 +0530] rev 2677
topics: pass 'topics' to ui.formatter instead of 'bookmarks'
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.
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
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.
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
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.
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.
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.
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!
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.
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.
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.
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, ..."
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)
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
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.
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 25 Jun 2017 18:37:42 +0200] rev 2660
branching: merge stable into default
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.
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.
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.
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).
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
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.
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.
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.
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)
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)
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…)
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.
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.