在回购同步期间如何从.repo / manifests复制内容?

时间:2018-10-17 19:46:43

标签: android git gerrit yocto repo

根据repo Manifest Format文档:

  

清单的基本结构是一个裸露的Git存储库,它在顶层目录中包含一个default.xml XML文件。

该语句并不表示清单(或存储库)仅限于保存default.xml文件,而没有其他内容。听起来可以将其他文件添加到存储库中。

我使用“ repo sync”来检出几个Git存储库。我的default.xml文件中有一个'copyfile'元素,该元素成功地将一个'export'文件从我的存储库之一复制到了顶层目录中。

我想将自述文件放在.repo / manifests中,该文件与default.xml位于同一目录(并因此位于存储库中)。成功了。

但是我也想将README文件从.repo / manifests复制到顶层目录,类似于'copyfile'元素所做的事情。这没有成功。

“ repo init”之后的实际目录结构:

top-level-directory
└── .repo
    └── manifests
        ├── default.xml
        └── README.md

“回购同步”后所需的目录结构:

top-level-directory
├── export
├── .repo
│   └── manifests
│       ├── default.xml
│       └── README.md
├── layers
├── README.md <-- This is what I want to add
└── ...

经过大量实验,我决定无法完成。我最成功的方法是将清单的Git存储库添加到default.xml,作为一个项目,然后添加一个linkfile元素以提供指向README的符号链接。这样就构成了顶层结构:

top-level-directory
│── copy_of_manifests
│   ├── default.xml
│   └── README.md
├── export
├── .repo
│   └── manifests
│       ├── default.xml
│       └── README.md
├── layers
├── README.md -> copy_of_manifests/README.md
└── ...

冗余仅将一个问题替换为另一个问题。不值得麻烦。

0 个答案:

没有答案