# HG changeset patch # User Augie Fackler # Date 2019-06-18 13:57:06 # Node ID df1419c5756a73fcfdc1dee310a594a0bfe9d8d0 # Parent ca1014ad3de4e95136952223ab7d217e54e05874 remotefilelog: tell runbgcommand to not block on child process startup These two invocations will always find a binary because they're re-running hg. As a result, we can skip waiting for the subprocess to start running and save a little bit of wall-time. Differential Revision: https://phab.mercurial-scm.org/D6539 diff --git a/hgext/remotefilelog/repack.py b/hgext/remotefilelog/repack.py --- a/hgext/remotefilelog/repack.py +++ b/hgext/remotefilelog/repack.py @@ -43,7 +43,8 @@ def backgroundrepack(repo, incremental=T if packsonly: cmd.append('--packsonly') repo.ui.warn(msg) - procutil.runbgcommand(cmd, encoding.environ) + # We know this command will find a binary, so don't block on it starting. + procutil.runbgcommand(cmd, encoding.environ, ensurestart=False) def fullrepack(repo, options=None): """If ``packsonly`` is True, stores creating only loose objects are skipped. diff --git a/hgext/remotefilelog/shallowrepo.py b/hgext/remotefilelog/shallowrepo.py --- a/hgext/remotefilelog/shallowrepo.py +++ b/hgext/remotefilelog/shallowrepo.py @@ -190,7 +190,9 @@ def wraprepo(repo): cmd.append('--repack') if revs: cmd += ['-r', revs] - procutil.runbgcommand(cmd, encoding.environ) + # We know this command will find a binary, so don't block + # on it starting. + procutil.runbgcommand(cmd, encoding.environ, ensurestart=False) def prefetch(self, revs, base=None, pats=None, opts=None): """Prefetches all the necessary file revisions for the given revs