Tue, 17 Nov 2020 16:23:57 -0800 errors: raise InputError in `hg absorb`
Martin von Zweigbergk <martinvonz@google.com> [Tue, 17 Nov 2020 16:23:57 -0800] rev 45893
errors: raise InputError in `hg absorb` Differential Revision: https://phab.mercurial-scm.org/D9340
Thu, 22 Oct 2020 14:14:59 -0700 errors: introduce CanceledError and use it in a few places
Martin von Zweigbergk <martinvonz@google.com> [Thu, 22 Oct 2020 14:14:59 -0700] rev 45892
errors: introduce CanceledError and use it in a few places This very similar to earlier patches (e.g. for `InputError`) and part of https://www.mercurial-scm.org/wiki/ErrorCategoriesPlan. Differential Revision: https://phab.mercurial-scm.org/D9339
Tue, 17 Nov 2020 15:51:09 -0800 errors: raise InputError in `hg split`
Martin von Zweigbergk <martinvonz@google.com> [Tue, 17 Nov 2020 15:51:09 -0800] rev 45891
errors: raise InputError in `hg split` Differential Revision: https://phab.mercurial-scm.org/D9338
Tue, 17 Nov 2020 15:42:42 -0800 errors: raise StateError in `hg bisect`
Martin von Zweigbergk <martinvonz@google.com> [Tue, 17 Nov 2020 15:42:42 -0800] rev 45890
errors: raise StateError in `hg bisect` Differential Revision: https://phab.mercurial-scm.org/D9337
Tue, 17 Nov 2020 15:37:18 -0800 errors: raise InputError in `hg debugobsolete`
Martin von Zweigbergk <martinvonz@google.com> [Tue, 17 Nov 2020 15:37:18 -0800] rev 45889
errors: raise InputError in `hg debugobsolete` Differential Revision: https://phab.mercurial-scm.org/D9336
Mon, 16 Nov 2020 16:25:04 -0800 errors: raise InputError when line range to followlines() is out of bounds
Martin von Zweigbergk <martinvonz@google.com> [Mon, 16 Nov 2020 16:25:04 -0800] rev 45888
errors: raise InputError when line range to followlines() is out of bounds Differential Revision: https://phab.mercurial-scm.org/D9333
Sat, 07 Nov 2020 22:31:29 +0100 transaction: split new files into a separate set
Joerg Sonnenberger <joerg@bec.de> [Sat, 07 Nov 2020 22:31:29 +0100] rev 45887
transaction: split new files into a separate set Journal entries with size 0 are common as they represent new revlog files. Move them from the dictionary into a set as the former is more dense. This reduces peak RSS by 70MB for the NetBSD test repository with around 450k files under .hg/store. Differential Revision: https://phab.mercurial-scm.org/D9278
Sat, 07 Nov 2020 21:34:09 +0100 transaction: change list of journal entries into a dictionary
Joerg Sonnenberger <joerg@bec.de> [Sat, 07 Nov 2020 21:34:09 +0100] rev 45886
transaction: change list of journal entries into a dictionary The transaction object used to keep a mapping table of path names to journal entries and a list of journal entries consisting of path and file offset to truncate on rollback. The offsets are used in three cases. repair.strip and rollback process all of them in one go, but they care about the order. For them, it is perfectly reasonable to read the journal back from disk as both operations already involve at least one system call per journal entry. The other consumer is the revlog logic for moving from inline to external data storage. It doesn't care about the order of the journal and just needs to original offset stored. Further optimisations are possible here to move the in-memory journal to a set(), but without memoisation of the original revlog size this could turn it into O(n^2) behavior in worst case when many revlogs need to migrated. Differential Revision: https://phab.mercurial-scm.org/D9277
Sat, 07 Nov 2020 19:24:12 +0100 transaction: rename find to findoffset and drop backup file support
Joerg Sonnenberger <joerg@bec.de> [Sat, 07 Nov 2020 19:24:12 +0100] rev 45885
transaction: rename find to findoffset and drop backup file support transaction.find used to support access to both the regular file and backup file list. They have different formats, so any consumer has to be aware of the difference alredy. There is no in-core consumer for the backup file access, so don't provide it. Differential Revision: https://phab.mercurial-scm.org/D9276
Sat, 07 Nov 2020 17:56:01 +0100 transaction: drop per-file extra data support
Joerg Sonnenberger <joerg@bec.de> [Sat, 07 Nov 2020 17:56:01 +0100] rev 45884
transaction: drop per-file extra data support At the moment, transactions support an optional extra data argument for all files to be stored in addition to the original offset. This is used in core only by the revlog inline to external data migration. It is used to memoize the number of revisions before the transaction. That number of can be computed during the walk easily, so drop the requirement. Differential Revision: https://phab.mercurial-scm.org/D9275
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip