repo工具无法根据代码

时间:2017-08-02 20:10:32

标签: git repo

我使用repo工具管理多个存储库。

以下是我的示例清单文件,我在修订版中提供了一个标记名称 - ' firsttag'。

当我进行回购同步时,它说 -

Fetching project repo1
fatal: Couldn't find remote ref refs/heads/firsttag
<?xml version="1.0" encoding="UTF-8"?>

xml文件            

  <!-- <default revision="refs/heads/master" -->
  <default revision='firsttag'
           remote="github"
           sync-j="4" />

  <project name="repo1" remote="github" path="repo1"/>
  <project name="repo2" remote="github" path="repo2"/>

</manifest>

1 个答案:

答案 0 :(得分:2)

revision="firsttag"revision="refs/heads/firsttag"表示分支。对于代码,它应为revision="refs/tags/firsttag"

如果你使用Gerrit,你会看到像refs/changes/33/44433/1这样的引用。如果您想使用此引用,则应为revision="refs/changes/33/44433/1"

对于特定项目,如果您知道提交,则可以同时使用revisionupstream。当你想要旧的分支提交时,它非常有用。请注意,项目中的revision会覆盖default中的{。}}。

<project name="repo1" remote="github" path="repo1"
         revision="3b9211fe8c87bf424c2bf128b1dec572375b318f"
         upstream="somebranch"/>

这是repo manifest -r的输出。 upstream可以是标记或任何引用。

仅当值为ref名称时才可以使用revision

<project name="repo1" remote="github" path="repo1"
         revision="refs/tags/secondtag"/>