repo
的一些用法和理解
repo
的用法
注:
repo
只是
用
Python
脚本写的调用
git
的一个脚本,
主要是用来下载、
管理
Android
项目的软件仓库。
(
也就是说,他是用来管理给
git
管理的一个个仓库的
)
下载
repo
的地址
: http://android.git.kernel.org/repo
,可以用以下二者之一来下载
repo
curl http://android.git.kernel.org/repo > ~/bin/repo
下载完成后须修改
repo
的权限:
chmod a+x ~/bin/repo
用
repo sync
在抓去
android source code
的时候,
会经常出现一些错误导致
repo sync
中断,
每次都要手动开始。
可以用如下的命令,来自动重复
$?=1;
while [ $? -ne 0 ] ;
do
repo sync ;
done
获取帮助:
repo help [ command ]
//
显示
command
的详细的帮助信息内容
示例:
repo help init
来获取
repo init
的其他用法
repo init -u URL
用以在当前目录安装
repository
,会在当前目录创建一个目录
".repo"
-u
参数指定一个
URL
,
从这个
URL
中取得
repository
的
manifest
文件。
示例:
repo init -u git://android.git.kernel.org/platform/manifest.git
获取的
manifest
文件放在
.repo
目录中。命名为
manifest.xml
。这个文件的内容其实就是所有
被
git
管理的仓库的列表!
可以用
-m
参数来选择获取
repository
中的某一个特定的
manifest
文件,如果不具体指
定,那么表示为默认的
namifest
文件
(default.xml)
repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml
(
有诸多供我们选择的
manifest
文件,所有的
manifest
文件都放在目录
.repo/manifests
中,该
目录本身亦被
git
所管理,你可以
cd
进去看看
)
可以用
-b
参数来指定某个
manifest
分支。
repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0
你会发现
.repo/manifests
是个被
git
管理的仓库,这里放的是所有的
manifest
文件(
*.xml
)
,
因为被
git
管理,固然有分支,
-b
可以切换到你想要的分支然后再下载相关的
xml
文件,当
然具体下载那个
xml
还要看
-m
参数了,所以如果你仅仅指定
-b
而没有
-m
的话,就是下载
-b
指定分支下的
default.xml
文件
如果不指定
-b
参数,那么会默认使用
master
分支