# HG changeset patch # User Phil Cohen # Date 1508124989 25200 # Node ID 9c899660700ace2385509d289efad0adfe9f86d3 # Parent 1af4561b6bfed74eb40387d6800d46401582fcaa merge: don't use workers in in-memory mode The worker processes can't share memory, so workers should not be used. Differential Revision: https://phab.mercurial-scm.org/D1105 diff -r 1af4561b6bfe -r 9c899660700a mercurial/merge.py --- a/mercurial/merge.py Sun Oct 15 20:36:29 2017 -0700 +++ b/mercurial/merge.py Sun Oct 15 20:36:29 2017 -0700 @@ -1427,8 +1427,12 @@ z += 1 progress(_updating, z, item=f, total=numupdates, unit=_files) + # When merging in-memory, we can't support worker processes, so set the + # per-item cost at 0 in that case. + cost = 0 if wctx.isinmemory() else 0.001 + # remove in parallel (must come before resolving path conflicts and getting) - prog = worker.worker(repo.ui, 0.001, batchremove, (repo, wctx), + prog = worker.worker(repo.ui, cost, batchremove, (repo, wctx), actions['r']) for i, item in prog: z += i @@ -1452,7 +1456,7 @@ wctx.flushall() # get in parallel - prog = worker.worker(repo.ui, 0.001, batchget, (repo, mctx, wctx), + prog = worker.worker(repo.ui, cost, batchget, (repo, mctx, wctx), actions['g']) for i, item in prog: z += i