无法使用本地身份使用google repo工具进行初始化

时间:2018-04-18 10:18:23

标签: python git identity repo

尝试使用repo工具初始化项目树,但在分配本地标识时失败:

repo init -u git@github.com:XXX.git -b repo-rocko --config-name

返回:

`

Traceback (most recent call last):
  File "/home/user/projects/repo.test/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/home/user/projects/repo.test/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/home/user/projects/repo.test/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/user/projects/repo.test/.repo/repo/subcmds/init.py", line 404, in Execute
    self._ConfigureUser()
  File "/home/user/projects/repo.test/.repo/repo/subcmds/init.py", line 298, in _ConfigureUser
    name  = self._Prompt('Your Name', mp.UserName)
  File "/home/user/projects/repo.test/.repo/repo/project.py", line 784, in UserName
    self._LoadUserIdentity()
  File "/home/user/projects/repo.test/.repo/repo/project.py", line 797, in _LoadUserIdentity
    u = self.bare_git.var('GIT_COMMITTER_IDENT')
  File "/home/user/projects/repo.test/.repo/repo/project.py", line 2747, in runner
    (self._project.name, name, p.stderr))
error.GitError: manifests var: 
*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

`

但是在尝试使用git配置身份时:

git config user.name "Test test"

失败:

fatal: not in a git directory

和GLOBAL设置不是这种情况的选项,因为documentation根据~/.gitconfig文件而不是存储库.git/config存储身份,并且会损害其他项目上的其他repo运行在其他文件夹中。

1 个答案:

答案 0 :(得分:0)

谷歌repo脚本选项--config-name在版本上被破坏(不应该正常工作):

`

repo version v1.12.37
       (from https://gerrit.googlesource.com/git-repo)
repo launcher version 1.23
       (from /usr/bin/repo)
git version 2.14.1
Python 2.7.14 (default, Sep 23 2017, 22:06:14) 
[GCC 7.2.0]

`

但有一个解决办法:

repo init命令后立即但在跟随repo sync命令修改现有文件之前(repo将自动生成此文件):

.repo/manifests.git/config

通过将以下行的标识添加到文件的底部:

`

[user]
        email = user@yourdomain.com
        name = User Name

`