为什么 REPO 连接远程地址和文件夹?
Why is REPO concatenating remote address and folder?
我正在尝试使用 repo 为一个项目获取多个 git 存储库。我有一个个人 git 服务器,其中托管了所有 git 存储库
我可以通过执行此命令手动克隆单个存储库:
git clone my_repo@my_repo_address:repo_a
但是由于我需要为不同的项目使用相同的存储库,所以我决定使用 REPO 而不是手动克隆。
我创建了一个要使用的 default.xml 文件,它包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="project"
fetch="my_repo@my_repo_address"/>
<project name="repo_a" remote="project" revision="master" path="a"/>
<project name="repo_b" remote="project" revision="master" path="b"/>
<project name="repo_c" remote="project" revision="master" path="c"/>
</manifest>
我将此 default.xml 文件托管在名为 git-repo-fetch 的同一 git 服务器上。我可以按如下方式成功初始化回购协议:
repo init -u my_repo@my_repo_address:git-repo-fetch
并且初始化成功。但是当我执行 repo sync 时,我得到了错误:
Fetching project repo_c
fatal: 'git-repo-fetch/my_repo@my_repo_address/repo_c' does not appear to be a git repository
fatal: Could not read from remote repository.
我的问题是 为什么回购将 XML 回购名称 (git-repo-fetch) 与提取地址 (my_repo@my_repo_地址)?
通过这样做,它会尝试从 git-repo-fetch/my_repo@my_repo_address 获取,这是错误的。
据我所知(比如在this thread from 2011), repo
一直支持ssh://URL方案
ssh://[user@]host.xz[:port]/path/to/repo.git/
并且不是类scp语法user@host:repo
。
user@host:path
is a nice shorthand on the command line, but ssh://
is less ambiguous for a manifest XML file.
使用 scp 语法,repo
执行 "munge" URL,如 mentioned in 2012.
我正在尝试使用 repo 为一个项目获取多个 git 存储库。我有一个个人 git 服务器,其中托管了所有 git 存储库
我可以通过执行此命令手动克隆单个存储库:
git clone my_repo@my_repo_address:repo_a
但是由于我需要为不同的项目使用相同的存储库,所以我决定使用 REPO 而不是手动克隆。
我创建了一个要使用的 default.xml 文件,它包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="project"
fetch="my_repo@my_repo_address"/>
<project name="repo_a" remote="project" revision="master" path="a"/>
<project name="repo_b" remote="project" revision="master" path="b"/>
<project name="repo_c" remote="project" revision="master" path="c"/>
</manifest>
我将此 default.xml 文件托管在名为 git-repo-fetch 的同一 git 服务器上。我可以按如下方式成功初始化回购协议:
repo init -u my_repo@my_repo_address:git-repo-fetch
并且初始化成功。但是当我执行 repo sync 时,我得到了错误:
Fetching project repo_c
fatal: 'git-repo-fetch/my_repo@my_repo_address/repo_c' does not appear to be a git repository
fatal: Could not read from remote repository.
我的问题是 为什么回购将 XML 回购名称 (git-repo-fetch) 与提取地址 (my_repo@my_repo_地址)?
通过这样做,它会尝试从 git-repo-fetch/my_repo@my_repo_address 获取,这是错误的。
据我所知(比如在this thread from 2011), repo
一直支持ssh://URL方案
ssh://[user@]host.xz[:port]/path/to/repo.git/
并且不是类scp语法user@host:repo
。
user@host:path
is a nice shorthand on the command line, butssh://
is less ambiguous for a manifest XML file.
使用 scp 语法,repo
执行 "munge" URL,如 mentioned in 2012.