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