From e21526754be58523c673d29731ee01d80e0ffc31 Mon Sep 17 00:00:00 2001 From: Dave Borowitz Date: Wed, 31 Oct 2012 12:24:38 -0700 Subject: [PATCH] sync: Only parallelize gc for git >= 1.7.2 This minimum version is required for the -c argument to set config on the command line. Without this option, git by default uses as many threads per invocation as there are CPUs, so we cannot safely parallelize without hosing a system. Change-Id: I8fd313dd84917658162b5134b2d9aa34a96f2772 --- subcmds/sync.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/subcmds/sync.py b/subcmds/sync.py index 8e9477a3..15f69f7b 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py @@ -44,7 +44,7 @@ try: except ImportError: multiprocessing = None -from git_command import GIT +from git_command import GIT, git_require from git_refs import R_HEADS, HEAD from main import WrapperModule from project import Project @@ -310,7 +310,8 @@ later is required to fix a server side protocol bug. return fetched def _GCProjects(self, projects): - if multiprocessing: + has_dash_c = git_require((1, 7, 2)) + if multiprocessing and has_dash_c: cpu_count = multiprocessing.cpu_count() else: cpu_count = 1