REPO是Google用python脚本写的调用Git的脚本,主要用来下载、管理android项目的多个git仓库。--- 来自百度百科
下面通过实例讲解搭建一个repo服务器的过程:
1.进入你的工作目录(例如我的工作目录是:~/cm_workspace),建立一个repo-server子目录
$:cd ~/cm_workspace
$:mkdir repo-server
2.在刚建立的repo-server目录下新建一个manifests目录,并初始化一个git tree
$:cd repo-server
$:mkdir manifests
$:git init
3.在刚建立的manifests目录中添加一个default.xml文件
$:cd manifests
$: vi default.xml
在default.xml中添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="origin" fetch="~/xp013435/cm_workspace/repo-server" review="review.source.android.com" />
<default revision="master" remote="origin" />
<project name="example/example1" path="example/example1"/>
<project name="example/example2" path="example/example2"/>
</manifest>
然后保存退出,在当前路径下运行如下命令:
$:git add . (注意git add后面有个空格,空格后面有个点)
$:git commit -m "message"
4.你应该注意到default.xml里有这么两行:
<project name="example/example1" path="example/example1"/>
<project name="example/example2" path="example/example2"/>
这两行是project list,包含两个工程(两个git),当然你也可以添加更多project。
所以我们还有对这两个工程进行初始化:
$:mkdir example/example1 example/example2 -p
$:cd example/example1
$:git init
$:echo "hello,wolrd--test1" > test1
$:git add .
$:git commit -m "init test1"
这样就初始化了git:example/example1,并且在这个git里初始化了一个test1文件,你可以仿照这个步骤初始化example/example2。
5.做完以上步骤,请check一下上述过程有没有操作遗漏的。如果没有遗漏或者出错那么repo的一个简单服务器就OK了。
下面是客户端的操作:
1.仿照上述步骤1,新建repo-client目录:
$:cd ~/cm_workspace
$:mkdir repo-client
$:cd ~/cm_workspace
$:mkdir repo-client
2.初始化repo
$:cd repo-client
$:repo init -u ~/cm_workspace/repo-server/manifest.git
这个时候看一下有没有出错信息,如果有错误请确认服务端的配置过程。
3.sync code
$:repo sync
$:la
这时你会看到当前目录下有:example .repo这两个目录。check一下example下有没有example1和example2,并且example1和example2下面分别有test1和test2
OK,通过上述步骤你应该成功搭建了一个repo server,并且能成功从server上sync code。
如果你想了解manifest.xml的框架请参考:Android Repo的manifest XML文件格式 . 网址: http://blog.csdn.net/guan506713512/article/details/16118405