Sun, 10 Dec 2017 00:20:06 +0100 stablerange: fallback to a more naive approach to find subrange
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 00:20:06 +0100] rev 3253
stablerange: fallback to a more naive approach to find subrange As suspected, using "bheads" was bit good enough in some case and we have to fall back to the approach used in "basic". On the evolve repo (about 3K changeset) this approach is about 60% slower than the previous (wrong) code.
Sat, 09 Dec 2017 22:49:07 +0100 stablebranch: avoid overlap between subrange
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:49:07 +0100] rev 3252
stablebranch: avoid overlap between subrange Subrange overlap make things more complicated and less efficient. We fix the computation done in the "cached" version of the stablerange cache. This bring things in line with the result produced by the basic version. Since we already bumped the format version since the last release, I don't things we need to do anything else.
Sat, 09 Dec 2017 22:37:10 +0100 stablerange: introduce an 'basicstablerange'
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:37:10 +0100] rev 3251
stablerange: introduce an 'basicstablerange' This class hold all the basic of stable range but the part specific to the sorting. This allow to clearly express what is expected from each method and to generate tests output to be validated against the more complex implementation. While writing this, we spotted a bug in the current stable range implementation. Fix coming.
Wed, 29 Nov 2017 11:18:53 -0500 stablerange: extract the core API into a 'stablerangecore' class
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 11:18:53 -0500] rev 3250
stablerange: extract the core API into a 'stablerangecore' class To clarify what the code is doing without all the caching and algorithmic improvement, we extract a core class that highlight the basic API expected from the class.
Sat, 09 Dec 2017 22:17:00 +0100 stable-branch: setup tests to use a specific method by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:17:00 +0100] rev 3249
stable-branch: setup tests to use a specific method by default This will make future test simpler.
Wed, 29 Nov 2017 10:53:21 -0500 stablerange: rework the debug command to allow for multiple method
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 10:53:21 -0500] rev 3248
stablerange: rework the debug command to allow for multiple method Similar to what we did for the other debug command related to sorting, we prepare for the arrival of multiple method to produce the result (including simple implementation that are easy to read but do not scale).
Sat, 09 Dec 2017 17:34:33 +0100 deptcache: make sure we warm the dept cache before warming the obsdiscovery
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 17:34:33 +0100] rev 3247
deptcache: make sure we warm the dept cache before warming the obsdiscovery The depthcache need to a warmed a bit more agressively
Thu, 23 Nov 2017 16:37:24 +0100 stablesort: add a 'method' argument to the debugstablesort command
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 16:37:24 +0100] rev 3246
stablesort: add a 'method' argument to the debugstablesort command Let start experimenting with other way to do stable sorting.
Sat, 25 Nov 2017 02:58:47 -0500 stablesort: rename function to stablesort_branchpoint
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 02:58:47 -0500] rev 3245
stablesort: rename function to stablesort_branchpoint We are about to test different approach to stable sorting. We clarify that the existing method is sorting from branch points.
Sat, 09 Dec 2017 17:14:53 +0100 stablerange: update the filename to avoid cache confusion
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 17:14:53 +0100] rev 3244
stablerange: update the filename to avoid cache confusion The schema validation seems to not work as well as intended, we update the file name to make sure there will be no confusion.
Thu, 23 Nov 2017 16:34:50 +0100 stablesort: extract in its own module
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 16:34:50 +0100] rev 3243
stablesort: extract in its own module We are going to introduce variants, cache and more complex logic, we move that in its own repository beforehand.
Wed, 29 Nov 2017 12:48:45 -0500 compat: in depth cache, only use cachevfs when available
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 12:48:45 -0500] rev 3242
compat: in depth cache, only use cachevfs when available We support older version without the new vfs.
Thu, 23 Nov 2017 16:53:29 +0100 depthcache: issue a progress bar when loading the depth cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 16:53:29 +0100] rev 3241
depthcache: issue a progress bar when loading the depth cache The operation can be in the minute order of magnitude of some larger repository. We better keep the user entertain when he wait.
Wed, 22 Nov 2017 15:05:15 +0100 depthcache: move to a dedicated object and storage
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 15:05:15 +0100] rev 3240
depthcache: move to a dedicated object and storage The SQL cache was overkill and fragile. We move to a dedicated storage using the new generic class.
Wed, 22 Nov 2017 13:44:44 +0100 cache: adds debug details about what the content of the update
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 13:44:44 +0100] rev 3239
cache: adds debug details about what the content of the update Having more data in debug is good, we add a small method to help providing them. This code was headed for core during the 4.3 cycle but never made it there. So we starts with a copy in the evolve repository.
Wed, 22 Nov 2017 13:40:47 +0100 cache: introduce a changelogsourcebase class
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 13:40:47 +0100] rev 3238
cache: introduce a changelogsourcebase class This abstract class will help code that need a cache tracking the changelog content (eg: the branchmap cache). The cache key used is the same as what the branchmap uses. This code was headed for core during the 4.3 cycle but never made it there. So we starts with a copy in the evolve repository.
Wed, 22 Nov 2017 13:40:05 +0100 cache: introduce an abstract class for cache we can upgrade incrementally
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 13:40:05 +0100] rev 3237
cache: introduce an abstract class for cache we can upgrade incrementally Right now each class implements their own mechanism for validation, and update. We start introducing abstract class to ultimately allow more unification of the cache code. The end goal of this series is to introduce a cache for some obsolescence property, not to actually implement the cache. However, taking advantage of adding a new cache to introduce the abstract class seems like a win. This code was headed for core during the 4.3 cycle but never made it there. So we starts with a copy in the evolve repository.
Wed, 22 Nov 2017 16:57:07 +0100 depth: basic debugdepth implementation and test
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 16:57:07 +0100] rev 3236
depth: basic debugdepth implementation and test This will come very handy to validate more advanced implementation later.
Sat, 09 Dec 2017 06:13:28 +0100 topics: add a config to reject draft changeset without topic on a server
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Dec 2017 06:13:28 +0100] rev 3235
topics: add a config to reject draft changeset without topic on a server This patch adds a new config option experimental.topic-mode.server which if sets to True, the server won't accept any draft changeset without topic on it. In case both `experimental.topic-mode.server` and `experimental.topic.publish-bare-branch` are set to True, the enforce-topic one is respected. Tests are added for it. The CHANGELOG file is also updated mentioning about the config option.
Sat, 09 Dec 2017 05:05:39 +0100 test: update output to ad5f2b923b0d
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 05:05:39 +0100] rev 3234
test: update output to ad5f2b923b0d A new bundle2 capabilities have been added (related to bookmark). So we have to update the test output. CORE-TEST-OUTPUT-UPDATE: ad5f2b923b0d
Thu, 07 Dec 2017 20:34:18 +0100 touch: shorten touch's docstring to make it fit into a one line stable
Denis Laxalde <denis@laxalde.org> [Thu, 07 Dec 2017 20:34:18 +0100] rev 3233
touch: shorten touch's docstring to make it fit into a one line This make it show completely (untruncated) in `hg help -e evolve`. This follows up on fed946edc293 where the docstring got unwrap for that purpose and thus made the line length exceed 80 columns.
Tue, 05 Dec 2017 18:31:08 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Dec 2017 18:31:08 +0100] rev 3232
branching: merge with stable
Wed, 06 Dec 2017 02:08:37 +0100 help: promote "amend" to important command stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Dec 2017 02:08:37 +0100] rev 3231
help: promote "amend" to important command Recent change to what command we advertise as "basic". It turn out "amend" was not part of one of them. Since "amend" is one of the core command of a rewriting workflow, we promote it to "basic command".
Tue, 05 Dec 2017 16:11:08 -0800 help: fix output for `hg help -e evolve` wrt 'touch' command stable
Kyle Lippincott <spectral@google.com> [Tue, 05 Dec 2017 16:11:08 -0800] rev 3230
help: fix output for `hg help -e evolve` wrt 'touch' command Currently, when running `hg help -e evolve`, the output looks like this on my screen: touch create successors that are identical to their predecessors except With this change, it looks like this: touch create successors that are identical to their predecessors except for the changeset ID
Tue, 05 Dec 2017 16:08:50 -0800 help: remove a few commands from `hg` (no args) command list stable
Kyle Lippincott <spectral@google.com> [Tue, 05 Dec 2017 16:08:50 -0800] rev 3229
help: remove a few commands from `hg` (no args) command list According to `hg help -e evolve`, the following commands come from the evolve extension: amend evolve fold metaedit next obslog pdiff previous prune pstatus split touch uncommit If one runs `hg` without arguments, commands that are prefixed with a ^ character are shown. From the previous list, this includes: evolve fold metaedit next previous prune split touch uncommit It feels several of these commands are not "basic commands" that someone who has never used hg before might care about. They probably also do not come close to passing the "toothbrush test": things that users are likely to use every day. This commit removes these items from the list: metaedit, touch, uncommit This means the following are kept: evolve fold next previous prune split
Mon, 04 Dec 2017 14:27:27 -0800 typos: fix typos in several locations stable
Kyle Lippincott <spectral@google.com> [Mon, 04 Dec 2017 14:27:27 -0800] rev 3228
typos: fix typos in several locations A user at Google attempted to fix our local copy because they had noticed a typo (accross instead of across), but this will just get overwritten on our next import. This commit fixes that case and a few others that my editor found. Most of the typos were in comments, but user-visible output is changed in a few cases: - accross -> across - splitted -> split - ambigious -> ambiguous - evolvestte -> evolvestate (this is in a ui.debug, so not often seen) There is another typo that I wanted to fix, but didn't: 'supercede' is spelled 'superseed' in a few locations. I believe this is only internal to the extension, instead of being user-visible, so while it could probably be fixed easily, I wasn't 100% sure it didn't end up in a file on disk or something and might cause problems, so I left it alone.
Tue, 05 Dec 2017 13:53:04 +0100 topic: use more protective code to access current topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Dec 2017 13:53:04 +0100] rev 3227
topic: use more protective code to access current topic There are some code path where the operation is not properly initialized and lack the new attributes. While the lack of initialization, is suspicious and I've not be able to pin point case where this happens. Currently the code crash when it encounter this situation. So we make the code more resistant to this case to prevent bad user experience.
Tue, 05 Dec 2017 13:21:57 +0100 topic: use more protective code to access publishing code stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Dec 2017 13:21:57 +0100] rev 3226
topic: use more protective code to access publishing code There are some code path where the operation is not properly initialized and lack the new attributes. While the lack of initialization, is suspicious and I've not be able to pin point case where this happens. Currently the code crash when it encounter this situation. So we make the code more resistant to this case to prevent bad user experience.
Mon, 04 Dec 2017 14:27:27 -0800 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com> [Mon, 04 Dec 2017 14:27:27 -0800] rev 3225
typos: fix typos in several locations A user at Google attempted to fix our local copy because they had noticed a typo (accross instead of across), but this will just get overwritten on our next import. This commit fixes that case and a few others that my editor found. Most of the typos were in comments, but user-visible output is changed in a few cases: - accross -> across - splitted -> split - ambigious -> ambiguous - evolvestte -> evolvestate (this is in a ui.debug, so not often seen) There is another typo that I wanted to fix, but didn't: 'supercede' is spelled 'superseed' in a few locations. I believe this is only internal to the extension, instead of being user-visible, so while it could probably be fixed easily, I wasn't 100% sure it didn't end up in a file on disk or something and might cause problems, so I left it alone.
Mon, 04 Dec 2017 17:16:01 +0530 tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Dec 2017 17:16:01 +0530] rev 3224
tests: add a test for newline in obsnote
Mon, 04 Dec 2017 15:50:32 +0530 obsnote: don't add '' to note while showing it in obslog
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Dec 2017 15:50:32 +0530] rev 3223
obsnote: don't add '' to note while showing it in obslog
Sun, 03 Dec 2017 23:40:08 +0530 obsnote: add an entry in CHANGELOG about it
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Dec 2017 23:40:08 +0530] rev 3222
obsnote: add an entry in CHANGELOG about it
Fri, 17 Nov 2017 03:14:47 +0530 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:47 +0530] rev 3221
amend: add support for storing a note in obsmarker
Fri, 17 Nov 2017 03:14:31 +0530 uncommit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:31 +0530] rev 3220
uncommit: add support for storing a note in obsmarker
Fri, 17 Nov 2017 03:14:20 +0530 fold: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:20 +0530] rev 3219
fold: add support for storing a note in obsmarker
Fri, 17 Nov 2017 03:14:08 +0530 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:08 +0530] rev 3218
metaedit: add support for storing a note in obsmarker
Fri, 17 Nov 2017 03:13:52 +0530 prune: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:13:52 +0530] rev 3217
prune: add support for storing a note in obsmarker
Fri, 17 Nov 2017 03:06:06 +0530 split: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:06:06 +0530] rev 3216
split: add support for storing a note in obsmarker
Sun, 12 Nov 2017 01:54:13 +0530 touch: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 12 Nov 2017 01:54:13 +0530] rev 3215
touch: add support for storing a note in obsmarker
Sun, 12 Nov 2017 01:35:51 +0530 obslog: add initial support for showing note in obslog
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 12 Nov 2017 01:35:51 +0530] rev 3214
obslog: add initial support for showing note in obslog This add a very basic and initial support for showing the note stored in the obsmarker in obslog to test the upcoming changes which adds support. The UI is not finalised and will be improved in the patches after support is added and we have tests with the current output.
Sun, 12 Nov 2017 01:26:30 +0530 cmdrewrite: add a utility function to make sure note is of valid format
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 12 Nov 2017 01:26:30 +0530] rev 3213
cmdrewrite: add a utility function to make sure note is of valid format Upcoming patches will add support to store a note on various evolution related commands by storing that in obsmarker. Since the obsmarker metadata field can't store things above 255 bytes, this patch introduces a function which will be used to make sure note is under 255 bytes and does not contain newlines. We don't want notes to be multilines.
Thu, 30 Nov 2017 12:14:36 -0500 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Nov 2017 12:14:36 -0500] rev 3212
branching: merge with stable
Wed, 29 Nov 2017 20:50:37 -0500 test: remove dangling --config in test-metaedit.t
Boris Feld <boris.feld@octobus.net> [Wed, 29 Nov 2017 20:50:37 -0500] rev 3211
test: remove dangling --config in test-metaedit.t
Thu, 30 Nov 2017 21:31:14 -0800 tests: fix previously accidentally matching regexes in test-touch.t stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 30 Nov 2017 21:31:14 -0800] rev 3210
tests: fix previously accidentally matching regexes in test-touch.t Before Mercurial commit 6d5718e39657 (run-tests: make "| foo (re)" not match everything, 2017-11-29), regexes like "| foo", which are common in graphlog output, would incorrectly match anything. After that commit, they match as they should, meaning that either "" or " foo" would match, but not a "| foo". This commit fixes the test by replacing the "|" by "." rather than escaping with "\|" since that would make the graph harder to read.
Thu, 30 Nov 2017 12:09:21 -0500 test: update test-discovery-obshashrange.t stable
Boris Feld <boris.feld@octobus.net> [Thu, 30 Nov 2017 12:09:21 -0500] rev 3209
test: update test-discovery-obshashrange.t
Wed, 29 Nov 2017 20:50:37 -0500 test: remove dangling --config in test-metaedit.t stable
Boris Feld <boris.feld@octobus.net> [Wed, 29 Nov 2017 20:50:37 -0500] rev 3208
test: remove dangling --config in test-metaedit.t
Fri, 24 Nov 2017 23:46:56 -0500 serverminitopic: also avoid reading
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 24 Nov 2017 23:46:56 -0500] rev 3207
serverminitopic: also avoid reading Avoiding to write cache for filter where topic applies is a good step, but we need to also avoid reading it. Existing branchmap cache might exists before the turned the feature on.
Wed, 15 Nov 2017 08:00:17 +0100 topic: introduce a minimal extensions to enable topic on the server
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 08:00:17 +0100] rev 3206
topic: introduce a minimal extensions to enable topic on the server This small extensions simply expose topic in the branch. This should help getting minimal support for topic from various hosting solution (eg: bitbucket maybe ?) See extensions help for details.
Sat, 25 Nov 2017 17:47:02 -0500 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 17:47:02 -0500] rev 3205
branching: merge stable into default
Fri, 24 Nov 2017 22:36:57 +0100 pusoperation: wrap pushoperation __init__ directly stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 24 Nov 2017 22:36:57 +0100] rev 3204
pusoperation: wrap pushoperation __init__ directly This is how remote names does it. Using the same method should helps with compatibility when mixing the two extensions.
Thu, 23 Nov 2017 00:29:52 +0100 hgignore: fix .err matching patterns stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 00:29:52 +0100] rev 3203
hgignore: fix .err matching patterns We don't want to ignore .err file outside of the 'tests/' directory.
Sun, 19 Nov 2017 04:47:10 +0100 changelog: fix 7.0.0 release date stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 19 Nov 2017 04:47:10 +0100] rev 3202
changelog: fix 7.0.0 release date We date was the same as 6.8.0 for some unkown reason. We now use the date of the tag.
Fri, 17 Nov 2017 00:51:31 +0100 changelog: mention the improved verbosity handling
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:51:31 +0100] rev 3201
changelog: mention the improved verbosity handling
Fri, 17 Nov 2017 00:49:09 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:49:09 +0100] rev 3200
branching: merge with stable
Fri, 17 Nov 2017 00:48:08 +0100 changelog: update missing release date stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:48:08 +0100] rev 3199
changelog: update missing release date
Thu, 16 Nov 2017 11:38:33 -0800 summaryhook: respect -q flag
Martin von Zweigbergk <martinvonz@google.com> [Thu, 16 Nov 2017 11:38:33 -0800] rev 3198
summaryhook: respect -q flag There's no test coverage, but it seems pretty obvious and I don't care enough to write a test.
Thu, 16 Nov 2017 11:32:24 -0800 summaryhook: remove unused function
Martin von Zweigbergk <martinvonz@google.com> [Thu, 16 Nov 2017 11:32:24 -0800] rev 3197
summaryhook: remove unused function
Thu, 16 Nov 2017 11:22:38 -0800 evolve: make prev/next respect --quiet flag (issue5742)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 16 Nov 2017 11:22:38 -0800] rev 3196
evolve: make prev/next respect --quiet flag (issue5742)
Wed, 15 Nov 2017 00:30:15 +0100 packaging: merge 7.0.1 into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:30:15 +0100] rev 3195
packaging: merge 7.0.1 into default
Wed, 15 Nov 2017 00:16:37 +0100 packaging: mark version as development version. stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:16:37 +0100] rev 3194
packaging: mark version as development version. This helps reduce confusion when installing non tagged version.
(0) -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 tip