Bug 1389366 - Fix |mach try| when hg is not installed. - r=ahal

Also find_executable doesn't seem to work on my windows machine, so I've replaced it.

MozReview-Commit-ID: 3mE4UeQ2ecy
This commit is contained in:
Jeff Gilbert 2017-08-10 19:34:08 -07:00
Родитель ef0d82bb2b
Коммит a10070cf8b
1 изменённых файлов: 8 добавлений и 6 удалений

Просмотреть файл

@ -7,7 +7,6 @@ import os
import subprocess import subprocess
import sys import sys
from abc import ABCMeta, abstractmethod, abstractproperty from abc import ABCMeta, abstractmethod, abstractproperty
from distutils.spawn import find_executable
GIT_CINNABAR_NOT_FOUND = """ GIT_CINNABAR_NOT_FOUND = """
Could not detect `git-cinnabar`. Could not detect `git-cinnabar`.
@ -53,10 +52,11 @@ class VCSHelper(object):
) )
for cmd in commands: for cmd in commands:
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) try:
output = proc.communicate()[0].strip() output = subprocess.check_output(cmd).strip()
except (subprocess.CalledProcessError, OSError):
continue
if proc.returncode == 0:
return cmd[0], output return cmd[0], output
return None, '' return None, ''
@ -139,7 +139,9 @@ class GitHelper(VCSHelper):
def push_to_try(self, msg, labels=None): def push_to_try(self, msg, labels=None):
self.check_working_directory() self.check_working_directory()
if not find_executable('git-cinnabar'): try:
subprocess.check_output(['git', 'cinnabar', '--version'], stderr=subprocess.STDOUT)
except subprocess.CalledProcessError:
print(GIT_CINNABAR_NOT_FOUND) print(GIT_CINNABAR_NOT_FOUND)
return 1 return 1