Использовать переменные среды внутри манифеста google-repo?

Мы пытаемся начать использовать google-repo в нашем проекте, так как проект разделен на несколько репозиториев. Проблема в том, что наш сервер git требует, чтобы имя пользователя помещалось в URL-адрес, например.

git clone ssh://[email protected]

Но возможно ли получить это в манифесте? Я пробовал следующее

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
 <remote name="gerrit"
         fetch="ssh://[email protected]"
         review="ssh://[email protected]"
         revision="refs/heads/master"/>
 <default remote="gerrit" sync-j="4"/>
 <project name="project" remote="gerrit" path="project"/>
</manifest>

но google-repo просто использует ssh://[email protected] при клонировании (то есть не разыменовывает переменную среды $USER).


person gablin    schedule 12.09.2019    source источник


Ответы (1)


Это проблема конфигурации ssh, вы не должны добавлять $USER в удаленный файл манифеста.

В ~/.ssh/config добавьте:

host whatever git.server.com
    IdentityFile ~/.ssh/id_rsa
    User <your_user>

IdentityFile должен ссылаться на ваш закрытый ключ ssh (YMMV).

Теперь вы должны быть в состоянии

git clone ssh://git.server.com
person Hugo y    schedule 12.09.2019