# HG changeset patch # User Arseniy Alekseyev # Date 1673020891 0 # Node ID becd16690cbe59b5f02749c35b603b9ec48c1579 # Parent 8c7895db89558511c9389e2f7529270906fcec47 debug: add a config to abort update early This is useful to benchmark the parts of [hg update] that come before the parallel worker. diff -r 8c7895db8955 -r becd16690cbe mercurial/configitems.py --- a/mercurial/configitems.py Wed Jan 11 16:51:37 2023 +0400 +++ b/mercurial/configitems.py Fri Jan 06 16:01:31 2023 +0000 @@ -746,6 +746,14 @@ b'discovery.exchange-heads', default=True, ) +# If devel.debug.abort-update is True, then any merge with the working copy, +# e.g. [hg update], will be aborted after figuring out what needs to be done, +# but before spawning the parallel worker +coreconfigitem( + b'devel', + b'debug.abort-update', + default=False, +) # If discovery.grow-sample is False, the sample size used in set discovery will # not be increased through the process coreconfigitem( diff -r 8c7895db8955 -r becd16690cbe mercurial/merge.py --- a/mercurial/merge.py Wed Jan 11 16:51:37 2023 +0400 +++ b/mercurial/merge.py Fri Jan 06 16:01:31 2023 +0000 @@ -1142,6 +1142,8 @@ followcopies, ) _checkunknownfiles(repo, wctx, mctx, force, mresult, mergeforce) + if repo.ui.configbool(b'devel', b'debug.abort-update'): + exit(1) else: # only when merge.preferancestor=* - the default repo.ui.note(