Bug 1393242 - Return a Repository using configure preferences; r=mshal

If configure has defined VCS binaries, we should use those.

MozReview-Commit-ID: DVnsSaJC8eN

--HG--
extra : rebase_source : 64e944841817e7fa0300bc6ed3bce3325e93781a
This commit is contained in:
Gregory Szorc 2017-08-23 15:04:46 -07:00
parent 7360761282
commit 48ba6bac22

View File

@ -14,7 +14,10 @@ import sys
import which
from mach.mixin.process import ProcessExecutionMixin
from mozversioncontrol import get_repository_object
from mozversioncontrol import (
get_repository_from_build_config,
get_repository_object,
)
from .backend.configenvironment import ConfigEnvironment
from .controller.clobber import Clobberer
@ -286,6 +289,13 @@ class MozbuildObject(ProcessExecutionMixin):
def repository(self):
'''Get a `mozversioncontrol.Repository` object for the
top source directory.'''
# We try to obtain a repo using the configured VCS info first.
# If we don't have a configure context, fall back to auto-detection.
try:
return get_repository_from_build_config(self)
except BuildEnvironmentNotFoundException:
pass
return get_repository_object(self.topsrcdir)
@memoized_property