根据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
└── ...
冗余仅将一个问题替换为另一个问题。不值得麻烦。