【Bash百宝箱】repo init error - manifest xxx.xml not available

来源:互联网 发布:四元数旋转矩阵 编辑:程序博客网 时间:2024/06/06 07:06

下载开源项目tizen-ivi源代码时,遇到了如下错误:

$ mkdir /home/tizen-ivi$ cd /home/tizen-ivi$ repo init -u ssh://hjj@review.tizen.org:29418/scm/manifest -b tizen -m ivi.xml...fatal: manifest 'ivi.xml' not availablefatal: remote tizen-gerrit not defined in /home/tizen-ivi/.repo/manifests/ivi.xml

刚开始以为是ssh的问题,于是便检查了一下ssh的配置,发现ssh没有问题,那这是为什么呢?会不会是服务器的问题导致repo init故障,于是在不同的时间段多次执行了repo init,还是同样的问题。后来仔细一想,既然是ivi.xml文件的问题,那不妨看一下这个文件有什么古怪。

$ cat .repo/manifests/ivi.xml<?xml version="1.0" encoding="UTF-8"?><manifest>  <include name="_remote.xml" />  <default revision="accepted/tizen_ivi"           remote="tizen-gerrit"           sync-j="4" />  <include name="ivi/metadata.xml" />  <include name="ivi/prebuilt.xml" />  <include name="ivi/projects.xml" /></manifest>

根据错误提示,ivi.xml文件有问题,原因是remote tizen-gerrit未定义,在这个文件中相关词语有两处,一处是remote="tizen-gerrit",另一处是<include name="_remote.xml" />,可以看出,ivi.xml引用了_remote.xml,会不会remote tizen-gerrit在_remote.xml中定义,而在ivi.xml引用却无效呢,看一下_remote.xml文件中的内容:

$ cat .repo/manifests/_remote.xml<?xml version="1.0" encoding="UTF-8"?><manifest>  <remote name="tizen-gerrit"          fetch="ssh://review.tizen.org/"          review="https://review.tizen.org/gerrit"/></manifest>

果然,remote tizen-gerrit是在_remote.xml中定义的,那就把_remote.xml中的内容直接合并到ivi.xml试一下吧,而不是通过include引用,ivi.xml修改后如下:

<?xml version="1.0" encoding="UTF-8"?><manifest>  <remote name="tizen-gerrit"          fetch="ssh://review.tizen.org/"          review="https://review.tizen.org/gerrit"/>  <default revision="accepted/tizen_ivi"           remote="tizen-gerrit"           sync-j="4" />  <include name="ivi/metadata.xml" />  <include name="ivi/prebuilt.xml" />  <include name="ivi/projects.xml" /></manifest>

修改完成之后,再执行repo init命令:

$ repo init -u ssh://hjj@review.tizen.org:29418/scm/manifest -b tizen -m ivi.xml

执行成功,^_^

1 0
原创粉丝点击