Fri, 08 Jan 2021 22:38:33 +0530 upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jan 2021 22:38:33 +0530] rev 46223
upgrade: demonstrate that a no-op upgrade still performs everything An upgrade operation which is not adding or removing anything should ideally error out. However, it does the whole cloning and everything. Next patch will fix it. Differential Revision: https://phab.mercurial-scm.org/D9694
Thu, 31 Dec 2020 19:42:10 +0530 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 31 Dec 2020 19:42:10 +0530] rev 46222
upgrade: migrated -> upgraded in ui messages Differential Revision: https://phab.mercurial-scm.org/D9676
Thu, 31 Dec 2020 19:24:23 +0530 upgrade: remove unnecessary `is None` check
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 31 Dec 2020 19:24:23 +0530] rev 46221
upgrade: remove unnecessary `is None` check `upgrade_engine.upgrade()` always return the `backuppath` value and there are not early returns. Hence I don't see how `backuppath` can be None. Adding extra unncessary safe checks hides unknown bugs. Hence removing it. Differential Revision: https://phab.mercurial-scm.org/D9675
Thu, 31 Dec 2020 14:45:16 +0530 engine: refactor code to replace stores in separate function
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 31 Dec 2020 14:45:16 +0530] rev 46220
engine: refactor code to replace stores in separate function In not all upgrades, we need to change the whole store. For example, when upgrading repository to share-safe mode, we don't touch revlogs at all hence store cloning and copying is not required. The store replacing code needs to be made aware about what all has changed and hence only copy/rename those things. To kickstart that, this patch moves existing logic into a separate function. Differential Revision: https://phab.mercurial-scm.org/D9674
Thu, 31 Dec 2020 14:10:25 +0530 engine: make hook point for extension a public function
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 31 Dec 2020 14:10:25 +0530] rev 46219
engine: make hook point for extension a public function Well there are no private public functions in Python, but we generally treat functions and variables starting with `_` as private ones. A function which needs to be overrided in extension should be a public one. Differential Revision: https://phab.mercurial-scm.org/D9672
Wed, 30 Dec 2020 16:39:35 +0530 engine: prevent multiple checking of re-delta-multibase
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 Dec 2020 16:39:35 +0530] rev 46218
engine: prevent multiple checking of re-delta-multibase The _perform_clone function is called for each revlog cloned, hence we should prevent this function call overhead. Differential Revision: https://phab.mercurial-scm.org/D9669
Wed, 30 Dec 2020 16:33:49 +0530 engine: pass upgrade operation inside `_perform_clone()`
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 Dec 2020 16:33:49 +0530] rev 46217
engine: pass upgrade operation inside `_perform_clone()` Same as previous patch. Differential Revision: https://phab.mercurial-scm.org/D9668
Wed, 30 Dec 2020 16:29:33 +0530 engine: pass upgrade operation inside _clonerevlogs()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 Dec 2020 16:29:33 +0530] rev 46216
engine: pass upgrade operation inside _clonerevlogs() Better to pass the operation instead of passing three of it's members (one of the them is a function call) separately. This will also be useful in future when we will like to control which things are upgraded. Differential Revision: https://phab.mercurial-scm.org/D9667
Wed, 30 Dec 2020 16:20:25 +0530 actions: store deltareuse mode of whole operation in UpgradeOperation
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 Dec 2020 16:20:25 +0530] rev 46215
actions: store deltareuse mode of whole operation in UpgradeOperation UpgradeOperation should provide easy access to all the things related to the current operation. Clients should not need to compute them. Differential Revision: https://phab.mercurial-scm.org/D9666
Wed, 30 Dec 2020 16:11:24 +0530 engine: refactor how total dstsize is calculated
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 Dec 2020 16:11:24 +0530] rev 46214
engine: refactor how total dstsize is calculated Instead of increasing it with each revlog, we just get the sum of total destination changelog, manifest and filelogs sizes. Differential Revision: https://phab.mercurial-scm.org/D9665
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip