repo 原理
1、repo 干什么用的
2、repo 的原理
Repo工具實際上是由一系列的Python腳本組成的,這些Python腳本通過調用Git命令來完成自己的功能。比較有意思的是,組成Repo工具的那些Python腳本本身也是一個Git倉庫。這個Git倉庫在AOSP里面就稱為Repo倉庫。我們每次執行Repo命令的時候,Repo倉庫都會對自己進行一次更新。
3、如何自己搭建一個倉庫
4、repo 目錄結構分析
下面我們先大概了解一下重要的幾個目錄的含義:
.repo:
此為repo目錄,可用于提取相應項目工作目錄到外面的repo工作目錄。
.repo/manifests.git:
此為repo配置信息的git庫,不同版本包含不同配置信息。每個repo項目初始化后也會有自己的git倉庫的repo也會建立一個Git倉庫,用來記錄當前Android版本下各個子項目的Git倉庫分別處于哪一個分支,這個倉庫通常叫做:manifest倉庫。
.repo/manifests:
此為repo配置信息的工作目錄(將配置信息的工作目錄和相應的實際git目錄分離管理,并且配置信息中的.git目錄實際只是指向實際git庫的軟連接)。此目錄中可能包含一個或多個xml文件描述的配置。每個xml文件是獨立的一套配置,配置內容包括當前repo工作目錄包含哪些git項目、所有git項目所處的默認公共分支、以及遠端地址等。
.repo/manifest.xml:
repo工作目錄中的內容同一時刻只能采用manifests中的一個xml文件做為其配置,該文件就是其軟連接,通過init的-m選項指定采用哪個文件;另外,同一xml文件也可能處于manifests庫的不同版本或者不同分支,通過init的-b選項指定使用manifests中的哪個分支,每次init命令都會從服務器更新最新的配置。這里通過-m指定的manifests中的xml文件中。
.repo/repo:
此為repo腳本集的git庫,用于repo管理所需的各種腳本,repo的所有子命令就是其中的對應腳本實現。這些腳本也通過git管理,.repo/repo/.git為對其應的git目錄,用git進行版本管理。
?
總結
- 上一篇: 【kernel 中内存分配那点事】
- 下一篇: qnx bsp 编译