在 google-repo 清单中使用环境变量?
Use environment variables inside google-repo manifest?
我们正在尝试在我们的项目中开始使用 google-repo,因为该项目分为多个存储库。问题是我们的 git 服务器要求将用户名放入 URL,例如
git clone ssh://username@git.server.com
但是是否可以将其放入清单中?我试过以下方法
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="gerrit"
fetch="ssh://$USER@git.server.com"
review="ssh://$USER@git.server.com"
revision="refs/heads/master"/>
<default remote="gerrit" sync-j="4"/>
<project name="project" remote="gerrit" path="project"/>
</manifest>
但 google-repo 在克隆时仅使用 ssh://$USER@git.server.com
(也就是说,它不会取消引用环境变量 $USER
)。
这是一个 ssh 配置问题,您不应在清单的远程添加 $USER。
在~/.ssh/config
中添加:
host whatever git.server.com
IdentityFile ~/.ssh/id_rsa
User <your_user>
IdentityFile 应该 link 到您的 ssh 私钥 (YMMV)。
您现在应该可以
git clone ssh://git.server.com
我们正在尝试在我们的项目中开始使用 google-repo,因为该项目分为多个存储库。问题是我们的 git 服务器要求将用户名放入 URL,例如
git clone ssh://username@git.server.com
但是是否可以将其放入清单中?我试过以下方法
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="gerrit"
fetch="ssh://$USER@git.server.com"
review="ssh://$USER@git.server.com"
revision="refs/heads/master"/>
<default remote="gerrit" sync-j="4"/>
<project name="project" remote="gerrit" path="project"/>
</manifest>
但 google-repo 在克隆时仅使用 ssh://$USER@git.server.com
(也就是说,它不会取消引用环境变量 $USER
)。
这是一个 ssh 配置问题,您不应在清单的远程添加 $USER。
在~/.ssh/config
中添加:
host whatever git.server.com
IdentityFile ~/.ssh/id_rsa
User <your_user>
IdentityFile 应该 link 到您的 ssh 私钥 (YMMV)。
您现在应该可以
git clone ssh://git.server.com