Wed, 08 Jul 2020 00:15:15 +0200 phases: sparsify phase lists
Joerg Sonnenberger <joerg@bec.de> [Wed, 08 Jul 2020 00:15:15 +0200] rev 45117
phases: sparsify phase lists When the internal and archived phase was added, allphase became a large, sparsely populated list. This dramatically increased the number of lookup operations for public relations in `phasecache.phase`. As a first step, define allphases and related lists explicitly to contain only the actual phases. Make phasenames a dictionary and create corresponding dictionaries for mapping phase names back to numbers. Adjust various list to be sparse as well with the exception of phaseroots and phasesets members of phasecache. Keep those as a separate step as it involves changes to the C module. Differential Revision: https://phab.mercurial-scm.org/D8697
Tue, 07 Jul 2020 22:00:02 +0200 phases: updatephases should not skip internal phase
Joerg Sonnenberger <joerg@bec.de> [Tue, 07 Jul 2020 22:00:02 +0200] rev 45116
phases: updatephases should not skip internal phase Historically, updatephases used to skip the secret phase, but wasn't updated when archived and internal were added. Differential Revision: https://phab.mercurial-scm.org/D8696
Sun, 28 Jun 2020 01:08:13 +0200 repoview: use the phasecache directly to determine mutable revisions
Joerg Sonnenberger <joerg@bec.de> [Sun, 28 Jun 2020 01:08:13 +0200] rev 45115
repoview: use the phasecache directly to determine mutable revisions This speeds up no-change updates from 1.3s to 0.85s for my NetBSD test repository. Differential Revision: https://phab.mercurial-scm.org/D8670
Tue, 07 Jul 2020 21:45:10 +0200 phases: provide a test and accessor for non-public phase roots
Joerg Sonnenberger <joerg@bec.de> [Tue, 07 Jul 2020 21:45:10 +0200] rev 45114
phases: provide a test and accessor for non-public phase roots This decouples users from the implementation details of the phasecache. Also document a historic artifact about the stored phaseroots. Differential Revision: https://phab.mercurial-scm.org/D8694
Wed, 24 Jun 2020 17:53:44 +0200 hg-core: define a `dirstate_status` `Operation`
Raphaël Gomès <rgomes@octobus.net> [Wed, 24 Jun 2020 17:53:44 +0200] rev 45113
hg-core: define a `dirstate_status` `Operation` This is 3/3 in a series of patches to improve dirstate status' code. Following in the footsteps of a46e36b82461, we move the main status functionality to an `Operation`. This will most likely be subject to change in the future (what function signature, what parameters, etc., but we will see when `rhg` gets `hg status` support. Differential Revision: https://phab.mercurial-scm.org/D8663
Wed, 24 Jun 2020 17:20:39 +0200 rust-status: improve documentation and readability
Raphaël Gomès <rgomes@octobus.net> [Wed, 24 Jun 2020 17:20:39 +0200] rev 45112
rust-status: improve documentation and readability This patch is 2/3 in the series to improve the dirstate status code. It adds a number of common type aliases to add more obvious semantics to function signatures, improves/adds documentation where necessary and improves one or two patterns to be more idiomatic. Differential Revision: https://phab.mercurial-scm.org/D8662
Wed, 24 Jun 2020 16:12:45 +0200 rust-status: refactor status into a struct
Raphaël Gomès <rgomes@octobus.net> [Wed, 24 Jun 2020 16:12:45 +0200] rev 45111
rust-status: refactor status into a struct The code for `dirstate/status` has grown too large for comfort, this is the first of three patches that try to improve maintainability. In this patch, refactoring dirstate's status into a struct allows for slimming down function signatures drastically, keeping the mental (and maintenance) burden lower, since pretty much all of them shared a few common arguments. This had the pleasant side-effect of simplifying lifetimes a little. This has no observable impact on performance. The next patch will add/improve documentation and refactor some types. I tried to keep new code down to a minimum in this patch because it's already pretty big. Differential Revision: https://phab.mercurial-scm.org/D8661
Fri, 13 Dec 2019 22:20:03 -0800 tests: avoid "magic" nodeids in test-rebase-legacy.t
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Dec 2019 22:20:03 -0800] rev 45110
tests: avoid "magic" nodeids in test-rebase-legacy.t This helps with readability. Differential Revision: https://phab.mercurial-scm.org/D8735
Fri, 13 Dec 2019 22:08:18 -0800 tests: avoid a "magic" nodeid in test-wireproto-command-lookup.t
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Dec 2019 22:08:18 -0800] rev 45109
tests: avoid a "magic" nodeid in test-wireproto-command-lookup.t This helps with readability. Differential Revision: https://phab.mercurial-scm.org/D8734
Mon, 22 Jun 2020 13:51:48 +0530 run-tests: replace '#' with '-' in temp path of repos created for tests
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jun 2020 13:51:48 +0530] rev 45108
run-tests: replace '#' with '-' in temp path of repos created for tests If we have multiple cases in a test, that leads us to a temp path of format "<temp-path>-<case1>#<case2>". This leads to hg.parseurl() parsing the path and take part after `#` as a branch name. I encountered this bug while adding support for share-safe case in next patch. Differential Revision: https://phab.mercurial-scm.org/D8647
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip