Thu, 07 Jan 2021 11:22:21 -0800 shelve: move method for writing .shelve to new shelf class
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Jan 2021 11:22:21 -0800] rev 46274
shelve: move method for writing .shelve to new shelf class Differential Revision: https://phab.mercurial-scm.org/D9701
Thu, 07 Jan 2021 11:07:21 -0800 shelve: introduce class representing a shelf
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Jan 2021 11:07:21 -0800] rev 46273
shelve: introduce class representing a shelf I'm about to make phase-based shelve not write `.hg` and `.patch` files. Having a class that represents a single shelf, regardless of which files it uses will help. I'm starting small with just a `.exists()` function. I plan to eventually remove the `shelvedfile` class once all functionality has been moved to the new class. By the way, I know that things you shelve are not typically themselves shelves. I still picked `Shelf` for the class because it's short (compared to e.g. `ShelvedChange`). Differential Revision: https://phab.mercurial-scm.org/D9700
Thu, 07 Jan 2021 12:26:32 -0800 shelve: raise more specific errors
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Jan 2021 12:26:32 -0800] rev 46272
shelve: raise more specific errors Differential Revision: https://phab.mercurial-scm.org/D9699
Thu, 07 Jan 2021 12:58:43 -0800 shelve: trust caller of shelvedfile.opener() to check that the file exists
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Jan 2021 12:58:43 -0800] rev 46271
shelve: trust caller of shelvedfile.opener() to check that the file exists The only place we call `shelvedfile.opener()` is when we're about to apply a bundle. The file should always exist. If it doesn't, the `.hg/` directory is corrupt and we don't provide any guarantees about supporting corrupt repos (besides, telling the user that the shelve doesn't exist when `hg shelve --list` lists it is not very helpful). Differential Revision: https://phab.mercurial-scm.org/D9698
Thu, 07 Jan 2021 12:22:39 -0800 shelve: rewrite check for unknown shelf to delete
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Jan 2021 12:22:39 -0800] rev 46270
shelve: rewrite check for unknown shelf to delete The code would try to delete the shelf's .patch file and if that raised an exception, it would convert it to an `error.Abort`. This patch rewrites it so the check is done upfront. I find it easier to read that way. It's now clear enough that I removed the comment explaining it as well. As Joerg pointed out during review, another differences is that the old code would move a `.hg` file without its `.patch` friend to backup before it realized that the `.patch` file was missing. The new code will error out earlier and not move the `.hg` file, which seems like an improvement. That should only matter on corrupt `.hg/shelved/` directories, however. Differential Revision: https://phab.mercurial-scm.org/D9697
Thu, 07 Jan 2021 12:37:14 -0800 shelve: remove a bundlerepo method
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Jan 2021 12:37:14 -0800] rev 46269
shelve: remove a bundlerepo method It was added in 43816070284e (shelve: add a bundlerepo method, 2014-10-10), but I haven't been able to find a place it was used. Differential Revision: https://phab.mercurial-scm.org/D9696
Fri, 08 Jan 2021 16:38:41 -0800 tests: add tests for corrupt .hg/shelved/ directory
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 Jan 2021 16:38:41 -0800] rev 46268
tests: add tests for corrupt .hg/shelved/ directory I don't care much how we behave in these cases, except that we should provide a way for the user to get out of the broken state. Differential Revision: https://phab.mercurial-scm.org/D9718
Wed, 13 Jan 2021 18:29:19 +0100 ui: add a "config_default" method
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 18:29:19 +0100] rev 46267
ui: add a "config_default" method This allow code to access the expected value for a config. This is useful in the context of dynamic default value, and short term it will be useful to write dynamically "correct" code. Differential Revision: https://phab.mercurial-scm.org/D9759
Thu, 14 Jan 2021 11:46:30 +0100 test: split tests/test-merge-combination.t into multiple parts
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 11:46:30 +0100] rev 46266
test: split tests/test-merge-combination.t into multiple parts That test is quite slow, lets split it in smaller bits. Differential Revision: https://phab.mercurial-scm.org/D9768
Thu, 14 Jan 2021 11:33:09 +0100 test: extract the `genmerges` out of test-merge-combination.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jan 2021 11:33:09 +0100] rev 46265
test: extract the `genmerges` out of test-merge-combination.t This open the way to splitting this slow test in multiple ones. Differential Revision: https://phab.mercurial-scm.org/D9767
Fri, 15 Jan 2021 14:05:32 +0100 hghave: clarify `sqlite` requirements
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Jan 2021 14:05:32 +0100] rev 46264
hghave: clarify `sqlite` requirements We need more than the python module, we also need the sqlite3 command line. Differential Revision: https://phab.mercurial-scm.org/D9787
Fri, 15 Jan 2021 01:21:58 +0100 localrepo: fix comment typo
Joerg Sonnenberger <joerg@bec.de> [Fri, 15 Jan 2021 01:21:58 +0100] rev 46263
localrepo: fix comment typo Differential Revision: https://phab.mercurial-scm.org/D9782
Thu, 14 Jan 2021 11:53:55 -0800 error: use detailed exit code 10 for command errors
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Jan 2021 11:53:55 -0800] rev 46262
error: use detailed exit code 10 for command errors Command errors (unknown or ambiguous commands, or bad command arguments or options) are handled in the `dispatch` module. Most other errors are handled in the `scmutil` module. This patch therefore has to duplicate a little bit of code from the `scmutil` module. It's just a few lines, however, so it seems fine to me. It's a pretty common category of errors, so it's important to have them respect `ui.detailed-exit-code`. Differential Revision: https://phab.mercurial-scm.org/D9777
Wed, 13 Jan 2021 22:37:21 -0800 errors: raise InputError when non-existent help section requested
Martin von Zweigbergk <martinvonz@google.com> [Wed, 13 Jan 2021 22:37:21 -0800] rev 46261
errors: raise InputError when non-existent help section requested Differential Revision: https://phab.mercurial-scm.org/D9776
Fri, 15 Jan 2021 12:56:25 -0500 revlog: migrate from PyEval_CallObject to PyObject_Call
Augie Fackler <augie@google.com> [Fri, 15 Jan 2021 12:56:25 -0500] rev 46260
revlog: migrate from PyEval_CallObject to PyObject_Call The former was deprecated in 3.9.0. Differential Revision: https://phab.mercurial-scm.org/D9791
Fri, 15 Jan 2021 12:52:52 -0500 fuzz: fix Makefile default PYTHON_CONFIG_FLAGS to be modern
Augie Fackler <augie@google.com> [Fri, 15 Jan 2021 12:52:52 -0500] rev 46259
fuzz: fix Makefile default PYTHON_CONFIG_FLAGS to be modern This is actually what we already do on oss-fuzz, so it's more correct as tests go. Differential Revision: https://phab.mercurial-scm.org/D9790
(0) -30000 -10000 -3000 -1000 -300 -100 -16 +16 +100 +300 +1000 +3000 tip