mirror of
https://gerrit.googlesource.com/git-repo
synced 2025-06-26 20:17:52 +00:00
Enable use of REPO_CONFIG_DIR to customize .repoconfig location
For use cases with multiple instances of repo, eg some CI environments. Bug: https://crbug.com/gerrit/15803 Change-Id: I65c1cfc8f6a98adfeb5efefc7ac6b45bf8e134de Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/356719 Tested-by: Gavin Mak <gavinmak@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
@ -69,8 +69,6 @@ def _key(name):
|
||||
class GitConfig(object):
|
||||
_ForUser = None
|
||||
|
||||
_USER_CONFIG = '~/.gitconfig'
|
||||
|
||||
_ForSystem = None
|
||||
_SYSTEM_CONFIG = '/etc/gitconfig'
|
||||
|
||||
@ -83,9 +81,13 @@ class GitConfig(object):
|
||||
@classmethod
|
||||
def ForUser(cls):
|
||||
if cls._ForUser is None:
|
||||
cls._ForUser = cls(configfile=os.path.expanduser(cls._USER_CONFIG))
|
||||
cls._ForUser = cls(configfile=cls._getUserConfig())
|
||||
return cls._ForUser
|
||||
|
||||
@staticmethod
|
||||
def _getUserConfig():
|
||||
return os.path.expanduser('~/.gitconfig')
|
||||
|
||||
@classmethod
|
||||
def ForRepository(cls, gitdir, defaults=None):
|
||||
return cls(configfile=os.path.join(gitdir, 'config'),
|
||||
@ -415,7 +417,10 @@ class GitConfig(object):
|
||||
class RepoConfig(GitConfig):
|
||||
"""User settings for repo itself."""
|
||||
|
||||
_USER_CONFIG = '~/.repoconfig/config'
|
||||
@staticmethod
|
||||
def _getUserConfig():
|
||||
repo_config_dir = os.getenv('REPO_CONFIG_DIR', os.path.expanduser('~'))
|
||||
return os.path.join(repo_config_dir, '.repoconfig/config')
|
||||
|
||||
|
||||
class RefSpec(object):
|
||||
|
Reference in New Issue
Block a user