Thu, 12 Nov 2015 13:16:04 -0800 tags: create new sortdict for performance reasons stable
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 12 Nov 2015 13:16:04 -0800] rev 26945
tags: create new sortdict for performance reasons sortdict internally maintains a list of keys in insertion order. When a key is replaced via __setitem__, we .remove() from this list. This involves a linear scan and array adjustment. This is an expensive operation. The tags reading code was calling into sortdict.__setitem__ for each tag in a read .hgtags revision. For repositories with thousands of tags or thousands of .hgtags revisions, the overhead from list.remove() noticeable. This patch creates a new sortdict() so __setitem__ calls don't incur a list.remove. This doesn't appear to have any performance impact on my Firefox repository. But that's only because tags reading doesn't show up in profiles to begin with. I'm still waiting to hear from a user with over 10,000 tags and hundreds of heads on the impact of this patch.
Tue, 10 Nov 2015 15:08:56 -0800 largefiles: specify where .orig files are kept
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 15:08:56 -0800] rev 26944
largefiles: specify where .orig files are kept This patch let's the user specify where .orig files are kept using the cmdutil.origpath function
Tue, 10 Nov 2015 14:52:54 -0800 mq: let the user choose where .orig files are kept
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:52:54 -0800] rev 26943
mq: let the user choose where .orig files are kept This patch uses cmdutil.origpath to let the user decide where .orig files are kept when backup files are created.
Tue, 10 Nov 2015 14:41:14 -0800 shelve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:41:14 -0800] rev 26942
shelve: choose where .orig file locations are kept This patch uses cmdutil.origpath to let the user set the location of the orig files.
Tue, 10 Nov 2015 16:25:59 -0800 filemerge: choose where .orig files are kept
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 16:25:59 -0800] rev 26941
filemerge: choose where .orig files are kept Having .orig files litter your working copy is a common complaint. This patch uses cmdutil.orig to let the user determine where those files should reside.
Tue, 10 Nov 2015 14:29:13 -0800 git-subrepos: revert respects specified location to save .orig files
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:29:13 -0800] rev 26940
git-subrepos: revert respects specified location to save .orig files This patch makes revert in git subrepos save .orig files where the user wants them by using the cmdutil.origpath function.
Tue, 10 Nov 2015 14:26:19 -0800 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:26:19 -0800] rev 26939
resolve: choose where .orig file locations are kept Having your working copy littered with .orig files is a common HG complaint. This patch uses the cmd.origpath helper function to let the user specify where they should be kept when using the resolve command.
Thu, 12 Nov 2015 17:00:08 -0600 revert: allow configuring the .orig file location
Christian Delahousse <cdelahousse@fb.com> [Thu, 12 Nov 2015 17:00:08 -0600] rev 26938
revert: allow configuring the .orig file location
Thu, 12 Nov 2015 16:56:06 -0600 cmdutil: add origbackuppath helper
Christian Delahousse <cdelahousse@fb.com> [Thu, 12 Nov 2015 16:56:06 -0600] rev 26937
cmdutil: add origbackuppath helper
Tue, 10 Nov 2015 11:16:25 -0800 discovery: pass pushop to _nowarnheads
Ryan McElroy <rmcelroy@fb.com> [Tue, 10 Nov 2015 11:16:25 -0800] rev 26936
discovery: pass pushop to _nowarnheads Previously, we passed only enough information to _nowarnheads to perform the old calculation. However, extensions may want to use more information in this calculation. Now that pushop is extensible, extensions will often want access to the additional fields they have added to the pushop, so pass that through. Specifically, the remotenames extension will use this information to allow pushing new heads that are bookmarked without requiring --force.
Tue, 10 Nov 2015 11:13:21 -0800 exchange: pass pushop to discovery.checkheads
Ryan McElroy <rmcelroy@fb.com> [Tue, 10 Nov 2015 11:13:21 -0800] rev 26935
exchange: pass pushop to discovery.checkheads Previously, we passed a bunch of parameters to discovery.checkheads, but all of the arguments can be fetched out of pushop, which may contain a lot more useful information for extensions now that pushop is extensible.
Thu, 12 Nov 2015 15:26:30 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 12 Nov 2015 15:26:30 -0600] rev 26934
merge with stable
Fri, 13 Nov 2015 02:36:30 +0900 share: wrap bmstore._writerepo for transaction sensitivity (issue4940) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 13 Nov 2015 02:36:30 +0900] rev 26933
share: wrap bmstore._writerepo for transaction sensitivity (issue4940) 46dec89fe888 made 'bmstore.write()' transaction sensitive, to restore original bookmarks correctly at failure of a transaction. For example, shelve and unshelve imply steps below: before 46dec89fe888: 1. move active bookmark forward at internal rebasing 2. 'bmstore.write()' writes updated ones into .hg/bookmarks 3. rollback transaction to remove internal commits 4. restore updated bookmarks manually after 46dec89fe888: 1. move active bookmark forward at internal rebasing 2. 'bmstore.write()' doesn't write updated ones into .hg/bookmarks (these are written into .hg/bookmarks.pending, if external hook is spawn) 3. rollback transaction to remove internal commits 4. .hg/bookmarks should be clean, because it isn't changed while transaction running: see (2) above But if shelve or unshelve is executed in the repository created with "shared bookmarks" ("hg share -B"), this doesn't work as expected, because: - share extension makes 'bmstore.write()' write updated bookmarks into .hg/bookmarks of shared source repository regardless of transaction activity, and - intentional transaction failure at the end of shelve/unshelve doesn't restore already updated .hg/bookmarks of shared source This patch makes share extension wrap 'bmstore._writerepo()' instead of 'bmstore.write()', because the former is used to actually write bookmark changes out.
Sat, 07 Nov 2015 13:48:42 -0500 test: use generaldelta in 'test-clonebundle.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 07 Nov 2015 13:48:42 -0500] rev 26932
test: use generaldelta in 'test-clonebundle.t' Using generaldelta has effects on the generated bundle.
Tue, 20 Oct 2015 13:14:04 +0200 test: use generaldelta in 'test-ssh.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 13:14:04 +0200] rev 26931
test: use generaldelta in 'test-ssh.t' This has effects on the capabilities string.
Tue, 20 Oct 2015 13:14:31 +0200 test: use generaldelta in 'test-ssh-bundle1.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 13:14:31 +0200] rev 26930
test: use generaldelta in 'test-ssh-bundle1.t' This has effect on the capabilities string.
Tue, 20 Oct 2015 13:09:43 +0200 test: use generaldelta in 'test-strip.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 13:09:43 +0200] rev 26929
test: use generaldelta in 'test-strip.t' This has minor effects on test output.
Tue, 20 Oct 2015 12:39:49 +0200 test: use generaldelta in 'test-rebase-newancestors.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 12:39:49 +0200] rev 26928
test: use generaldelta in 'test-rebase-newancestors.t' This has some minor effects on test output.
Tue, 20 Oct 2015 12:09:18 +0200 test: use general delta for 'test-commit-amend.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 12:09:18 +0200] rev 26927
test: use general delta for 'test-commit-amend.t' Using general delta introduces harmless changes to some of the test output.
Tue, 20 Oct 2015 11:50:55 +0200 test: wider matching in 'test-clone-r.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 11:50:55 +0200] rev 26926
test: wider matching in 'test-clone-r.t' The test is already somewhat resistant to changes from general delta. We make it wider to catch expected differences.
Tue, 20 Oct 2015 11:48:49 +0200 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 11:48:49 +0200] rev 26925
test: use generaldelta in 'test-bundle-type.t' Generaldelta changes some of the default targets for 'hg bundle'. All cases are already properly tested but some ambiguous specifications are affected.
Tue, 20 Oct 2015 10:46:59 +0200 test: use generaldelta in 'test-patchbomb.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 10:46:59 +0200] rev 26924
test: use generaldelta in 'test-patchbomb.t' Using generaldelta changes the default type of bombed bundle.
Tue, 20 Oct 2015 10:37:07 +0200 test: use generaldelta for test-bundle.t
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 10:37:07 +0200] rev 26923
test: use generaldelta for test-bundle.t This impacts tests of the 'packed' feature. We can safely accept the new output because the 'v1' format is not restricted to old revlog format, the requirements are properly advertised to the client.
Tue, 20 Oct 2015 03:14:36 +0200 test: use generaldelta in 'test-rebase-conflict.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 03:14:36 +0200] rev 26922
test: use generaldelta in 'test-rebase-conflict.t' Doing this has some minor impacts on test output since the rebase backup bundle moves to bundle2.
Mon, 19 Oct 2015 15:25:58 +0200 tests: test generaldelta configuration in test-init.t
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 Oct 2015 15:25:58 +0200] rev 26921
tests: test generaldelta configuration in test-init.t We turn the feature on for the whole test and test that it can properly be disabled through the config.
Mon, 19 Oct 2015 11:28:31 +0200 test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 Oct 2015 11:28:31 +0200] rev 26920
test: enable generaldelta early in 'test-treemanifest.t' Having generaldelta on results in minor test output changes (as we are staring at the revlog).
Mon, 19 Oct 2015 10:48:02 +0200 test: enable generaldelta in 'test-copy.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 Oct 2015 10:48:02 +0200] rev 26919
test: enable generaldelta in 'test-copy.t' Doing so has a minimal impact on the test.
Sun, 18 Oct 2015 19:04:29 +0200 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 18 Oct 2015 19:04:29 +0200] rev 26918
test: enable generaldelta in 'test-debugcommand.t' The test logic is not affected by generaldelta, so we move it to generaldelta early. Some of the fuzzy matching had to be extended to cover "delta".
Sun, 18 Oct 2015 18:55:32 +0200 test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 18 Oct 2015 18:55:32 +0200] rev 26917
test: use generaldelta in test-manifestv2.t Generaldelta and bundle2 have no real influence on this test. So we can safely switch it early.
Sun, 18 Oct 2015 18:36:39 +0200 test: explicitly use generaldelta in 'test-rebase-mq-skip.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 18 Oct 2015 18:36:39 +0200] rev 26916
test: explicitly use generaldelta in 'test-rebase-mq-skip.t' This induces some trivial changes in the tests. This happen in its own changeset for clarity purposes.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip