Tue, 17 May 2011 00:17:52 +0200 ui: enable alias exception when reading config in plain mode
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 17 May 2011 00:17:52 +0200] rev 14373
ui: enable alias exception when reading config in plain mode When in plain mode with "alias" present in the exception list, keep the aliases. This will be used later to enable auto-completion. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue, 17 May 2011 00:08:51 +0200 ui: test plain mode against exceptions
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 17 May 2011 00:08:51 +0200] rev 14372
ui: test plain mode against exceptions Let ui.plain() accept an optional parameter in the form of a feature name (as a string) to exclude from plain mode. The result of ui.plain is now: - False if HGPLAIN is not set or the requested feature is in HGPLAINEXCEPT - True otherwise Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed, 18 May 2011 17:05:30 -0500 revlog: drop base() again
Matt Mackall <mpm@selenic.com> [Wed, 18 May 2011 17:05:30 -0500] rev 14371
revlog: drop base() again deltaparent does what's needed, and more "portably".
Wed, 18 May 2011 23:48:17 +0200 patch: add a workingbackend dirstate layer on top of fsbackend
Patrick Mezard <pmezard@gmail.com> [Wed, 18 May 2011 23:48:17 +0200] rev 14370
patch: add a workingbackend dirstate layer on top of fsbackend _updatedir() is no longer used by internalpatch() The change in test-mq-missingfiles.t comes from workingbackend not considering the missing 'b' file as changed, thus not calling addremove() on it.
Wed, 18 May 2011 23:48:13 +0200 patch: handle binary copies as regular ones
Patrick Mezard <pmezard@gmail.com> [Wed, 18 May 2011 23:48:13 +0200] rev 14369
patch: handle binary copies as regular ones This introduces a performance regression for large files, as they will be copied just to be clobbered afterwards since binary patching does not use deltas. But it simplifies the code and the previous optimization will be reintroduced later in a better way.
Wed, 18 May 2011 23:48:13 +0200 patch: remove files while patching, not in updatedir()
Patrick Mezard <pmezard@gmail.com> [Wed, 18 May 2011 23:48:13 +0200] rev 14368
patch: remove files while patching, not in updatedir() At this point, updatedir() only reads the working directory and update the dirstate.
Wed, 18 May 2011 23:48:13 +0200 patch: set desired mode when patching, not in updatedir()
Patrick Mezard <pmezard@gmail.com> [Wed, 18 May 2011 23:48:13 +0200] rev 14367
patch: set desired mode when patching, not in updatedir() This patch and the following aim at merging _updatedir() actions into _applydiff().
Wed, 18 May 2011 23:48:13 +0200 patch: stop changing current directory before patching
Patrick Mezard <pmezard@gmail.com> [Wed, 18 May 2011 23:48:13 +0200] rev 14366
patch: stop changing current directory before patching _applydiff() patcher argument was added to help hgsubversion like extension monkeypatching the patching process. While it could be removed at this point, I prefer to leave it until patch.py is completely refactored and there is a valid and tested alternative.
Wed, 18 May 2011 23:26:26 +0200 revlog: linearize created changegroups in generaldelta revlogs
Sune Foldager <cryo@cyanite.org> [Wed, 18 May 2011 23:26:26 +0200] rev 14365
revlog: linearize created changegroups in generaldelta revlogs This greatly improves the speed of the bundling process, and often reduces the bundle size considerably. (Although if the repository is already ordered, this has little effect on both time and bundle size.) For non-generaldelta clients, the reduced bundle size translates to a reduced repository size, similar to shrinking the revlogs (which uses the exact same algorithm). For generaldelta clients the difference is minor. When the new bundle format comes, reordering will not be necessary since we can then store the deltaparent relationsships directly. The eventual default behavior for clients and servers is presented in the table below, where "new" implies support for GD as well as the new bundle format: old client new client old server old bundle, no reorder old bundle, no reorder new server, non-GD old bundle, no reorder[1] old bundle, no reorder[2] new server, GD old bundle, reorder[3] new bundle, no reorder[4] [1] reordering is expensive on the server in this case, skip it [2] client can choose to do its own redelta here [3] reordering is needed because otherwise the pull does a lot of extra work on the server [4] reordering isn't needed because client can get deltabase in bundle format Currently, the default is to reorder on GD-servers, and not otherwise. A new setting, bundle.reorder, has been added to override the default reordering behavior. It can be set to either 'auto' (the default), or any true or false value as a standard boolean setting, to either force the reordering on or off regardless of generaldelta. Some timing data from a relatively branch test repository follows. All bundling is done with --all --type none options. Non-generaldelta, non-shrunk repo: ----------------------------------- Size: 276M Without reorder (default): Bundle time: 14.4 seconds Bundle size: 939M With reorder: Bundle time: 1 minute, 29.3 seconds Bundle size: 381M Generaldelta, non-shrunk repo: ----------------------------------- Size: 87M Without reorder: Bundle time: 2 minutes, 1.4 seconds Bundle size: 939M With reorder (default): Bundle time: 25.5 seconds Bundle size: 381M
Wed, 18 May 2011 23:11:34 +0200 revlogdag: add linearize function
Sune Foldager <cryo@cyanite.org> [Wed, 18 May 2011 23:11:34 +0200] rev 14364
revlogdag: add linearize function See the docstring for a detailed explanation. The linearizer was originally written by Benoit Boissinot.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip