2013-09-04 8 views
4

Я использовал командную строку repo для нового проекта, основанного на многих репозиториях Git. Что такое формат манифеста? Я не нашел никакой спецификации/руководства/документации об этом.Что такое формат манифеста инструмента репо?

Например это упрощенный default.xml

<manifest> 
    <remote name="aosp" fetch="https://android.googlesource.com" review="android-review.googlesource.com"/> 
    <remote name="github" fetch=".." review="review.cyanogenmod.org"/> 
    <remote name="private" fetch="ssh://[email protected]"/> 
    <default revision="refs/tags/1.3-1" remote="github" sync-c="true" sync-j="4"/> 
    <project path="build" name="CyanogenMod/android_build"> 
    <copyfile src="core/root.mk" dest="Makefile"/> 
    </project> 
    <project path="android" name="CyanogenMod/android"/> 
    <project path="abi/cpp" name="CyanogenMod/android_abi_cpp"/> 
</manifest> 

ответ

7

я, наконец, нашел несколько документации, я отправляю их здесь, чтобы быть полезным для других;)

  1. Введите команду repo help manifest (от Edward Falk «s комментарий)
  2. Редактировать файл .repo/repo/docs/manifest-format.txt (from Bjarke Freund-Hansen's answer)
  3. Перейти к https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.txt (от David Fraser «s комментарий)
1

Я нашел этот вопрос ищет copyfile тега и после поиска в исходный код, который я обнаружил это в repo/manifest_xml.py

def _ParseCopyFile(self, project, node): 
    src = self._reqatt(node, 'src') 
    dest = self._reqatt(node, 'dest') 
    if not self.IsMirror: 
    # src is project relative; 
    # dest is relative to the top of the tree 
    project.AddCopyFile(src, dest, os.path.join(self.topdir, dest)) 

так <copyfile> копирует файл из данный проект в файл, как описано в атрибуте dest (но относительно вершины дерева).

+0

Скопирует ли каталог? то есть если src = gradle (у градиента dir есть gradle/wrapper/gradle-wrapper.properties и .jar), dest = gradle, будет ли скопирован весь каталог и содержимое градиента рекурсивно, как «cp -r»? – simonso

+1

Способы ответить на вопрос Winwin, но на всякий случай здесь заканчивается реальная копия: https://gerrit.googlesource.com/git-repo/+/master/project.py# 232 (который вызывает 'shutil.copy (src, dest)', см. Также: https://docs.python.org/3/library/shutil.html#shutil.copy) ** TL; DR - copyfile копирует файл, а не каталог; делегатов на shutil.copy ** – dherman

 Смежные вопросы

  • Нет связанных вопросов^_^