Sun, 05 Mar 2017 16:20:07 -0800 dirstate: track updated files to improve write time
Durham Goode <durham@fb.com> [Sun, 05 Mar 2017 16:20:07 -0800] rev 31206
dirstate: track updated files to improve write time Previously, dirstate.write() would iterate over the entire dirstate to find any entries that needed to be marked 'lookup' (i.e. if they have the same timestamp as now). This was O(working copy) and slow in large repos. It was most visible when rebasing or histediting multiple commits, since it gets executed once per commit, even if the entire rebase/histedit is wrapped in a transaction. The fix is to track which files have been editted, and only check those to see if they need to be marked as 'lookup'. This saves 25% on histedit times in very large repositories. I tested this by adding temporary debug logic to verify that the old files processed in the loop matched the new files processed in the loop and running the test suite.
Mon, 06 Mar 2017 03:09:15 -0800 hook: give exthooks tags for blocking time
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:09:15 -0800] rev 31205
hook: give exthooks tags for blocking time The ui.system autogenerated tag isn't really useful - as they're named, let's use the name the user gave us.
Mon, 06 Mar 2017 03:19:40 -0800 filemerge: tag merge tool for blocked times
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:19:40 -0800] rev 31204
filemerge: tag merge tool for blocked times Merge tools can take a while - let's ensure that they're appropriately tagged
Mon, 06 Mar 2017 03:27:52 -0800 hgk: set a blocked tag when the user invokes view
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:27:52 -0800] rev 31203
hgk: set a blocked tag when the user invokes view
Mon, 06 Mar 2017 03:27:41 -0800 transplant: set a blockedtag when invoking external filter
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:27:41 -0800] rev 31202
transplant: set a blockedtag when invoking external filter
Mon, 06 Mar 2017 03:27:24 -0800 config: set blockedtag when invoking configuration edit
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:27:24 -0800] rev 31201
config: set blockedtag when invoking configuration edit
Mon, 06 Mar 2017 03:26:30 -0800 bisect: set a blockedtag when running the check command
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:26:30 -0800] rev 31200
bisect: set a blockedtag when running the check command So that the hg bisect data clearly shows the bisect command separately to the main data set.
Mon, 06 Mar 2017 03:25:44 -0800 dispatch: set a blockedtag when running an external alias
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:25:44 -0800] rev 31199
dispatch: set a blockedtag when running an external alias
Mon, 06 Mar 2017 03:25:29 -0800 patch: set a blockedtag when running an external filter
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:25:29 -0800] rev 31198
patch: set a blockedtag when running an external filter
Mon, 06 Mar 2017 03:25:09 -0800 sshpeer: set a blockedtag when starting ssh
Simon Farnsworth <simonfar@fb.com> [Mon, 06 Mar 2017 03:25:09 -0800] rev 31197
sshpeer: set a blockedtag when starting ssh So that the data is readable.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip