Sun, 17 Jan 2021 02:50:26 -0500 hghave: adjust the definition of `tic` to allow curses tests on Windows
Matt Harbison <matt_harbison@yahoo.com> [Sun, 17 Jan 2021 02:50:26 -0500] rev 46320
hghave: adjust the definition of `tic` to allow curses tests on Windows Might as well pick up the test coverage if it works as-is. Differential Revision: https://phab.mercurial-scm.org/D9808
Wed, 09 Dec 2020 00:51:35 -0500 windows: wrap `os.getcwd()` in `os.path.realpath()` on py3
Matt Harbison <matt_harbison@yahoo.com> [Wed, 09 Dec 2020 00:51:35 -0500] rev 46319
windows: wrap `os.getcwd()` in `os.path.realpath()` on py3 I noticed various `test-check-*` failures that were printing absolute paths when repo relative paths were expected. This was due to the drive letter in `repo.root` being uppercased as it is run through `os.path.realpath()`, and then the simple string comparison against the (lowercased) `_cwd` member of dirstate in `dirstate.getcwd()` causing an absolute path to be returned, instead of the expected `b''`. That in turn causes `scmutil.getuipathfn()` to wrongly use `repo.pathto()` with an absolute cwd path. . Differential Revision: https://phab.mercurial-scm.org/D9806
Tue, 01 Dec 2020 21:51:41 -0500 packaging: include `windows-curses` on Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 01 Dec 2020 21:51:41 -0500] rev 46318
packaging: include `windows-curses` on Windows Otherwise the interface degrades to the old hunk selection method on Windows when `ui.tweakdefaults=1`. I've been using this for a couple of months without any issues, other than it seems to toggle off edit mode for the terminal when run through MSYS. Using cmd.exe seems to work fine. Differential Revision: https://phab.mercurial-scm.org/D9805
Sat, 16 Jan 2021 20:15:10 -0500 cext: fix compiler error in revlog.c on Windows with py2
Matt Harbison <matt_harbison@yahoo.com> [Sat, 16 Jan 2021 20:15:10 -0500] rev 46317
cext: fix compiler error in revlog.c on Windows with py2 Visual Studio 2008 doesn't have <stdint.h>, and we worked around it before with this header. Differential Revision: https://phab.mercurial-scm.org/D9804
Sat, 16 Jan 2021 01:02:03 +0100 discovery: add a devel.discovery.exchange-heads
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jan 2021 01:02:03 +0100] rev 46316
discovery: add a devel.discovery.exchange-heads Currently all discovery start with testing local and remote heads. For analysis purpose we make it possible to disable that initial "handshake" and start discovery with the whole repository as undecided. Differential Revision: https://phab.mercurial-scm.org/D9801
Sun, 17 Jan 2021 02:48:15 +0100 test-regression: backing out D9640 (63c923fd7fa8)
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jan 2021 02:48:15 +0100] rev 46315
test-regression: backing out D9640 (63c923fd7fa8) Since D9640 was pushed, we have seen failure on at least: - test-commit-interactive.t - test-i18n.t - test-log.t The author that change requested it to be removed until he can investigate. For reference: https://phab.mercurial-scm.org/D9640 Backed out changeset 63c923fd7fa8 Differential Revision: https://phab.mercurial-scm.org/D9803
Fri, 15 Jan 2021 12:41:38 +0100 clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Jan 2021 12:41:38 +0100] rev 46314
clone: make sure we warm the cache after a clone This work around any deviciency/limitation of the clone process. In our case this ensure the persistent nodemap exist with valid content. Ideally, the cloning process would also do "the right thing". However since older server will never be able to do "the right thing". The local workaround will be necessary anyway. I am not worried by the performance impact of this as `hg clone` is non-instant on large repositories where is could matters. Warming the cache if they are already correct is very fast. And if they are not already warm, this seems like a good time to do so. This impact various test as more cache are now warmed sooner, all the change should be harmless. Differential Revision: https://phab.mercurial-scm.org/D9789
Thu, 14 Jan 2021 04:56:29 +0100 persistent-nodemap: remove the "experimental" tag to the feature
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 04:56:29 +0100] rev 46313
persistent-nodemap: remove the "experimental" tag to the feature This has been around for a while and has all the discussed configuration options. Differential Revision: https://phab.mercurial-scm.org/D9764
Wed, 13 Jan 2021 23:50:03 +0100 persistent-nodemap: drop the storage.revlog.nodemap.mode config
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 23:50:03 +0100] rev 46312
persistent-nodemap: drop the storage.revlog.nodemap.mode config We now have a new, better, higher level, option. So we can drop the older one as planned. Differential Revision: https://phab.mercurial-scm.org/D9763
Wed, 13 Jan 2021 23:41:37 +0100 persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 23:41:37 +0100] rev 46311
persistent-nodemap: add a "abort" option to the slow-path config We make it the default, and document the behavior in the help for the main config option. Differential Revision: https://phab.mercurial-scm.org/D9762
Wed, 13 Jan 2021 23:07:41 +0100 persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 23:07:41 +0100] rev 46310
persistent-nodemap: add a "warn" option to the slow-path config And make it the default until we get an abort option. Differential Revision: https://phab.mercurial-scm.org/D9761
Wed, 13 Jan 2021 18:33:48 +0100 persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 18:33:48 +0100] rev 46309
persistent-node: check the value of the slow-path config We should probably provide some standard for this in config item, but this is a quest for another adventure. Differential Revision: https://phab.mercurial-scm.org/D9760
Thu, 14 Jan 2021 01:25:06 +0100 persistent-nodemap: add a revlog.storage.persistent-nodemap.slow-path option
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 01:25:06 +0100] rev 46308
persistent-nodemap: add a revlog.storage.persistent-nodemap.slow-path option As discussed during the sprint, we want to prevent user to get an unexpected performance regression when accessing a repository using "persistent-nodemap" without the associated Rust extension. We start by adding a config declaration and some documentation. Since "allow" is the current behavior, we don't need to add any code. The option possible value will come later. Note that we already have a `storage.revlog.nodemap.mode` option, but that option is a bit different. It does some warning and checking at revlog instantiation time. While we want something done at requirements checking time. Since we plan for new names and new config value names, we introduce a new option and will drop the old one later. Differential Revision: https://phab.mercurial-scm.org/D9758
Thu, 14 Jan 2021 01:12:42 +0100 persistent-nodemap: document storage.revlog.persistent-nodemap.mmap=no
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 01:12:42 +0100] rev 46307
persistent-nodemap: document storage.revlog.persistent-nodemap.mmap=no The feature is gaining public facing document, its options too. Differential Revision: https://phab.mercurial-scm.org/D9757
Wed, 13 Jan 2021 23:51:12 +0100 persistent-nodemap: rename the storage.revlog.nodemap.mmap option
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 23:51:12 +0100] rev 46306
persistent-nodemap: rename the storage.revlog.nodemap.mmap option Since the feature is publicly known as "persistent-nodemap" this seems better to reference it as "persistent-nodemap" in related config too. So we rename the option to `storage.revlog.persistent-nodemap.mmap`. Differential Revision: https://phab.mercurial-scm.org/D9756
Thu, 14 Jan 2021 00:56:27 +0100 persistent-nodemap: document the feature in `hg help config.format`
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 00:56:27 +0100] rev 46305
persistent-nodemap: document the feature in `hg help config.format` This is necessary before we advertise the feature more. Differential Revision: https://phab.mercurial-scm.org/D9755
Thu, 14 Jan 2021 00:37:36 +0100 persistent-nodemap: write down the sprint conclusion
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 00:37:36 +0100] rev 46304
persistent-nodemap: write down the sprint conclusion This write down the plan for turning feature that are only fast when the rust extension exists. Future changesets will implement it. Differential Revision: https://phab.mercurial-scm.org/D9754
Thu, 14 Jan 2021 00:33:40 +0100 persistent-nodemap: document the `devel.persistent-nodemap` option
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 00:33:40 +0100] rev 46303
persistent-nodemap: document the `devel.persistent-nodemap` option What it does is not obvious. Differential Revision: https://phab.mercurial-scm.org/D9753
Fri, 15 Jan 2021 23:47:16 +0100 copies: fix some comment in _filter
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Jan 2021 23:47:16 +0100] rev 46302
copies: fix some comment in _filter The scenario the comment describes match case 6, not case 2. Differential Revision: https://phab.mercurial-scm.org/D9793
Sat, 16 Jan 2021 00:54:33 +0100 discovery: move some debug output closer to were it belong
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jan 2021 00:54:33 +0100] rev 46301
discovery: move some debug output closer to were it belong I assume these debug output, increment and comment drifted over time. Differential Revision: https://phab.mercurial-scm.org/D9800
Sat, 16 Jan 2021 00:48:11 +0100 discovery: add a discovery.grow-sample.rate
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jan 2021 00:48:11 +0100] rev 46300
discovery: add a discovery.grow-sample.rate This allow to control the effect of the growth rate on the discovery process while doing analysis. Differential Revision: https://phab.mercurial-scm.org/D9799
Sat, 16 Jan 2021 00:29:17 +0100 discovery: add a `devel', b'discovery.grow-sample`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jan 2021 00:29:17 +0100] rev 46299
discovery: add a `devel', b'discovery.grow-sample` That option make it possible to disable the "sample growing" behavior when doing analysis and comparison. Differential Revision: https://phab.mercurial-scm.org/D9798
Sat, 16 Jan 2021 00:21:54 +0100 discovery: document the `devel.discovery.randomize` option
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jan 2021 00:21:54 +0100] rev 46298
discovery: document the `devel.discovery.randomize` option Gratuitous improvement as I was passing by this config section to add more. Differential Revision: https://phab.mercurial-scm.org/D9797
Tue, 12 Jan 2021 09:11:15 -0800 shelve: move listshelves() to new ShelfDir class, so caller need not pass vfs
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Jan 2021 09:11:15 -0800] rev 46297
shelve: move listshelves() to new ShelfDir class, so caller need not pass vfs Differential Revision: https://phab.mercurial-scm.org/D9744
Tue, 12 Jan 2021 09:02:47 -0800 shelve: also create class representing whole directory of shelves
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Jan 2021 09:02:47 -0800] rev 46296
shelve: also create class representing whole directory of shelves It's a little annoying to have to create and pass in a vfs into `listshelves()`. This patch attempts to start addressing that by creating a class that represents a directory containing shelves (the directory can be either `.hg/shelved/` or `.hg/shelve-backup/`). Differential Revision: https://phab.mercurial-scm.org/D9743
Mon, 11 Jan 2021 23:08:37 -0800 shelve: add a method for deleting shelf to new shelf class
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Jan 2021 23:08:37 -0800] rev 46295
shelve: add a method for deleting shelf to new shelf class This is not necessary for my future changes, but it's more consistent to encapsulate the knowledge of the various files in the `Shelf` class. Differential Revision: https://phab.mercurial-scm.org/D9742
Mon, 11 Jan 2021 10:53:42 -0800 shelve: inline ".patch" constant now that it's only used in the Shelf class
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Jan 2021 10:53:42 -0800] rev 46294
shelve: inline ".patch" constant now that it's only used in the Shelf class Differential Revision: https://phab.mercurial-scm.org/D9741
Mon, 11 Jan 2021 23:06:45 -0800 shelve: use listshelves() in cleanupoldbackups()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Jan 2021 23:06:45 -0800] rev 46293
shelve: use listshelves() in cleanupoldbackups() With this patch, there are no more assumptions outside the `Shelf` class about which files (`.patch`, `.hg`, `.shelve`) make up a shelf. As such, this finishes the preparations for making phase-based shelve (perhaps optionally) not write the `.patch` and `.hg` files. Differential Revision: https://phab.mercurial-scm.org/D9740
Mon, 11 Jan 2021 23:02:20 -0800 shelve: make listshelves() list shelves in a given vfs
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Jan 2021 23:02:20 -0800] rev 46292
shelve: make listshelves() list shelves in a given vfs Differential Revision: https://phab.mercurial-scm.org/D9739
Tue, 12 Jan 2021 08:07:59 -0800 shelve: replace repo instance in Shelf class by vfs instance
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Jan 2021 08:07:59 -0800] rev 46291
shelve: replace repo instance in Shelf class by vfs instance I'd like to be able to teach the `Shelf` class to read shelves from `.hg/shelve-backup/` in addition to `.hg/shelved/`. That means that we'll have to pass in a vfs instead of the repo, so this patch does that preparation. Differential Revision: https://phab.mercurial-scm.org/D9738
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip