1. 程式人生 > >關於git-repo時manifest.xml的一些整理

關於git-repo時manifest.xml的一些整理

 在Android原始碼的下載和應用程式程式設計中,manifest.xml檔案是非常重要的,是repo倉庫的大管家,在裡面定義著repo中可用的git專案。這裡主要講的是Android原始碼中的manifest.xml檔案,應用程式中的manifest檔案不是很瞭解,沒有發言權。

       今天就因為一個manifest.xml檔案的問題,自己糾結了一天,總是不太明白為啥沒有下載合適的工程,各種google,最後自己閱讀了下.repo/manifest.xml檔案,才發現可能是由於網頁編輯人員的失誤,將專案組的名稱寫錯了,而自己又不太會看manifest.xml檔案,所以怎麼也找不出來問題。

       下面以一個實際的例子來說明manifest.xml檔案的結構(arndale-octa.xml),由於原始檔非常大,只選取部分來進行說明:

<manifest>
<remote name="aosp" fetch="git://android.git.linaro.org/" review="review.android.git.linaro.org"/>
…
<default revision="refs/tags/android-4.4.2_r2" remote="aosp" sync-j="4"/>
<!--  Developer extras  -->
<project path="packages/apps/AndroidTerm" name="platform/external/AndroidTerm" revision="linaro-master" groups="devel"/>
</manifest>

另外,google公司給出的文件manifest-format.txt中定義了XML檔案的格式:


在<manifest>和</manifest>標記之間的是由repo指令碼解釋執行的一些命令。

Remote 定義了遠端git的名稱,fetch給定了該git專案的存放地址(URL)。Review定義了當使用命令’repo upload’上傳更新後,稽核程式碼的gerrit伺服器的主機名。

Name:A short name uniqueto this manifest file。用來作為每個專案的.git/config的遠端名稱。

Project定義了一個新的專案

Path:定義了git倉庫應該把遠端原始碼存放到本地的位置

Name:git專案的名稱

Revision:定義了在倉庫中使用哪個分支或者tag,如果沒有說明,則repo sync會使用由<default ../>標記的版本。

Groups:專案組的名稱,有一些專案可能在被用在多個具體的例項中,所以將它們分組,通常有common,devel等組。

<default revision="refs/tags/android-4.4.2_r2" remote="aosp" sync-j="4"/>

在大多數情況下,可能規定一個預設的元素。它的Remote和revision屬性被用於當專案沒有指定自己的remote和revision屬性時。

Revision屬性:git分支的名稱。(例如master或者refs/heads/master)。

當我們從google網站上下載到最新的repo指令碼檔案後,執行repo init來初始化一個倉庫,需要新增一些額外的引數例如,-u 指定從哪個倉庫下載,-b指定分支,-m指定manifest檔名稱,-g指定專案組。

      整理完後,對於manifest.xml不再感覺那麼神祕難懂了,對於可能出現的錯誤,也可以去檢查manfiest.xml檔案(一般是對.repo/manifests/default.xml的連結),找出命令中可能出現的錯誤,再接著repo sync即可從倉庫中拉下正確的原始碼。很方便啊!!

相關推薦

關於git-repomanifest.xml一些整理

 在Android原始碼的下載和應用程式程式設計中,manifest.xml檔案是非常重要的,是repo倉庫的大管家,在裡面定義著repo中可用的git專案。這裡主要講的是Android原始碼中的manifest.xml檔案,應用程式中的manifest檔案不是很瞭解,沒有

android repomanifest.xml的詳解

FROM:http://blog.csdn.net/shift_wwx/article/details/19557031 前言:最近配到一個關於manifest配置的問題,感覺還是需要總結一下,不然過一陣子又忘記了。但是記錄的不是很詳細,以後會補充的。下面的英文如果翻

repomanifest.xml檔案全解

manifest.xml 檔案結構: <?xml version="1.0" encoding="UTF-8"?>   <manifest>       <remote name="origin" fetch=".." review="rev

mybatis剛從@Annotation向xml轉換遇到的一些

老碰到少了逗號“,”的情況,導致sql出錯,但是這類問題又不容易察覺到,幸好如果有異常堆疊打出的話,這類問題還是比較好發現的。比較麻煩的事是在某廠,當時碰到的這個服務本地無法啟動,但是本人初來乍到,一是不熟悉整個系統,找不到啟動失敗原因在哪兒,而且據說這個問

Flex打包SWC使用manifest.xml清單檔案

Flex打包SWC時如果不使用清單檔案,那麼每個類就用自己的預設名稱空間,即類所在的包名。比如類ResizeWindow.as類在com.window包中,那麼,當css或mxml引用時,可採用如下程式碼:<mx:

關於量子計算機的一些整理 (精心整理原創) (一)

ole comm ip 協議 sse2 工程 5.0 tle 世界 sea 首先祝賀中國在量子計算方面的突出進步。 “5月3日,中國科技大學潘建偉教授宣布,研究團隊在去年首次實現十光子糾纏操縱的基礎上,構建了世界首臺超越早期經典計算機的單光子量子計算機。量子計算利用

Git commit提示錯誤    解決辦法

example you form efault his 自己的 com true 提示 vi 編輯 vim 編輯 a 進入編輯模式 esc 退出編輯模式 shift+: (看見: ) 代表開始執行下一行命名 w->q 保存退出 q->! 不保存退出 ca

git commit出現"There are no stages files"

water 異常 blog tail 保存 iss bsp log nts 轉http://blog.csdn.net/bfboys/article/details/52537367 異常 解決方案 進入Window——Preferences——Team——Git——

外鍵關聯非主鍵id-hbm.xml配置,及其分頁查詢DaoImpl

foreign opp style area ringbuf ber getc ram n-k 表關聯時,外鍵關聯非主鍵id時-hbm.xml配置: (由於hibernate默認為關聯主鍵查詢,故需要配置相關hql語句的屬性) <many-to-one name=

關於采集用戶頁面停留長的一些思路

服務器 沒有 錯誤信息 -1 .... 1.2 獲取 任務 采集 關於 記錄用戶在頁面停留時長的一些思路 客戶端===================================================================== (全部采用ajax後

配置strutsweb.xml中<url-pattern>*.action</url-pattern>

names val put eth package pan 評論 dispatch mce <filter> <filter-name>struts2</filter-name> <filter-class>org

android manifest.xml 文件

包名 清單文件 roi ani 應用 XML 文件 .com manifest 韓夢飛沙 韓亞飛 [email protected]/* */ yue31313 han_meng_fei_sha 清單文件 包括 包名 應用 各個組件 四大組件 使用

在Eclipse上修改git提交的默認註釋

onf image -1 問題 git ref con 點擊 http   找了好久,都沒找到真正可以解決這個問題的方法,網上的也有著各種的解決方案,但是我沒有修改成功,今天又找到一種方案修改成功了,以此來分享一下:首先我們需要在Windows-->preferenc

Git clone出現Please make sure you have the correct access rights and the repository exists.問題已解決。

already 下載 cor 兩個 .com pair 賬戶 same 使用 看了好多資料終於搞定了git 中clone命令報錯這個問題,廢話不多說直接上步驟希望對大家有幫助。 1 刪除.ssh文件夾(直接搜索該文件夾)下的known_hosts(手動刪除即可

發布WebApi項目包含XML文檔文件

out element you color style XML directory each rect Open your publishprofile (*.pubxml) and include this code into "Project" element:

sonar做代碼檢測如何忽略一些代碼文件

登錄 src 一個 div 多個 分割 檢測 管理員 逗號 1、管理員登錄sonar 2、如圖 一條規則配置一個,不要填寫逗號或者分號分割的多個規則 sonar做代碼檢測時如何忽略一些代碼文件

Deque和RandomizedQueue實現碰到的一些問題

markdown 要求 on() argument @override one string ren 註意 這是Algorithms第二周的作業。這次比上周的作業順利多了,也有可能自己以前有鏈表的基礎,因此完成地快些。 Deque就像python中地deque一樣,支持兩端

git clone出現:"diffie-hellman-group1-sha1 "

解決方法 Go ssh配置文件 algorithm 出現 git clone log diff roo 解決辦法1:在用戶配置目錄下添加一個ssh配置文件 vim /root/.ssh/config 內容如下: Host * KexAlgorithms +dif

eclipse在git提交忽略不必要的文件

gitclipse下使用git提交代碼時,有很多文件是不需要提交的,例如:target目錄下的文件和classes下的文件都不需要提交。這裏講解一下如何忽略不必要的文件。方案一:為項目添加.gitignore文件,在該文件中配置需要忽略的文件。a.打開Navigator窗口,找到.gitignore文件(如果