由于邮箱帐号与用户名称不一致:
username = repo
email = repo_email@xxx.com
源码路径在当前工作目录的 .repo/repo中
查看源码得知:git_config.py
def _SshReviewUrl(self, userEmail, host, port):
username = self._config.GetString('review.%s.username' % self.review)
if username is None:
username = userEmail.split('@')[0]
return 'ssh://%s@%s:%s/' % (username, host, port)
会从config获取 review.%s.username
的值, 如果获取不到则会用邮箱地址@之前的字符串作为用户名。
这个self.review
与服务器有关, 可以将其打印出来,进行拼接
print("self.review: %s" % self.review)
然后这个config从哪里获取的呢?
def ForRepository(cls, gitdir, defaults=None):
return cls(configfile=os.path.join(gitdir, 'config'),
defaults=defaults)
def __init__(self, configfile, defaults=None, jsonFile=None):
self.file = configfile
self.defaults = defaults
self._cache_dict = None
self._section_dict = None
self._remotes = {}
self._branches = {}
self._json = jsonFile
if self._json is None:
self._json = os.path.join(
os.path.dirname(self.file),
'.repo_' + os.path.basename(self.file) + '.json')
由此可以看出获取 .repo_*.json
的文件中读取.
可以将改文件打印出来:
print("configFile: %s" %s self.json)
然后在 相应的json文件里增加 key: value. %s 用实际值拼接:
{
"review.%s.username": [
"username"
]
}