【问题标题】:Can I extract multiple directories using local_manifest.xml from single repo?我可以使用 local_manifest.xml 从单个存储库中提取多个目录吗?
【发布时间】:2022-11-17 06:22:50
【问题描述】:

我看了 this 和 this thread 但我的问题看起来有点不同。

我们已经为供应商提供了运行 Android 10 的嵌入式平台。我们想在我们的本地 bitbucket 服务器上为以下 3 个目录创建一个单独的存储库,

  1. 外部
  2. 内核
  3. 供应商

    我创建了 local_manifests/local_manifest.xml 并相应地使用新的 project 和 remove-project 标签对其进行了更新。

    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>
       <remote name="bitbucket" fetch="URL" revision="mybranch"/>
       <default remote="bitbucket" revision="mybranch"/>
       <project name="device-kernel" path="kernel" revision="mybranch"/>
       <project name="device-external" path="external" revision="mybranch"/>
       <project name="device-vendor" path="vendor" revision="mybranch"/>
       <remove-project name="kernel/build"/>
       <remove-project name="kernel/configs"/>
       <remove-project name="kernel/kernel-5.10"/>
       <remove-project name="kernel/tests"/>
       ...
    </manifest>
    

    看起来我需要 3 个 git 存储库才能将它们提取到 3 个不同的目录中。例如device-kernel 将存储内核,并且可以使用 path 属性在内核目录中导出。

    问题:可以只创建一个存储库并在其中存储 3 个目录而不是 3 个存储库吗?如果是,那么如何? 我期望的是,对于一个回购协议,它应该在同一目录中导出 3 个相互平行的目录。

    如果您的回复有一些参考 xml 或任何针对相同问题的参考文章,我将不胜感激。

【问题讨论】:

    标签: android git synchronization android-manifest repo


    【解决方案1】:

    长话短说是的,在您的情况下,您可以创建一个 git 存储库并将 3 个目录存储在其中。当执行 repo sync 时,所有 3 个都将导出到同一目录中。

    如果你仔细阅读第一个链接,你实际上可以把path="."放在你的项目标签中来实现上面的。对于本地清单,它会被忽略。通知如下,

    “路径”可能不是绝对路径或使用“.”或“..”路径组件。 不对本地清单强制执行这些限制。

    还有一件事,您的local_manifest.xml 缺少project 标签中的remote 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多