回购工具无法根据标签拉取

repo tool unable to pull based on tags

我正在使用 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>

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 可以是标签或任何引用。

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

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