Chinaunix首页 | 论坛 | 博客
  • 博客访问: 808855
  • 博文数量: 296
  • 博客积分: 5376
  • 博客等级: 大校
  • 技术积分: 2298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-14 19:02
文章分类

全部博文(296)

文章存档

2023年(2)

2020年(2)

2018年(2)

2017年(26)

2016年(4)

2015年(19)

2014年(12)

2013年(26)

2012年(84)

2011年(50)

2010年(41)

2009年(28)

分类: 嵌入式

2012-02-15 23:01:49

repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。

  1. 下载 repo 的地址: ,可以用 wget 或者 curl >~/bin/repo  来下载 repo , chmod a+x ~/bin/repo
  2. 用repo sync 在抓去 android source code 的时候,会经常出现一些错误导致 repo sync 中断,每次都要手动开始。 可以用如下的命令,来自动重复:   $?=1;   while [ $? -ne 0 ] ; do  repo sync ; done
  3.  repo help [ command ] , 显示command 的详细的帮助信息内容
  4. repo init -u URL ,  在当前目录安装 repository ,会在当前目录创建一个目录 ".repo"  -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest 文件。   repo init -u git://android.git.kernel.org/platform/manifest.git

               可以用 -m 参数来选择 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为默认的 namifest 文件 (default.xml)    repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml

              可以用 -b 参数来指定某个manifest 分支。

               repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0

              可以用命令: repo help init 来获取 repo init 的其他用法

        4. repo sync [project-list]

            下载最新本地工作文件,更新成功,这本地文件和repository 中的代码是一样的。 可以指定需要更新的project , 如果不指定任何参数,会同步整个所有的项目。

           如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository 中的所有内容都拷贝到本地。 如果不是第一次运行 repo sync , 则相当于 git remote update ;  git rebase origin/branch .  repo sync 会更新 .repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行  git  rebase --continue

      5. repo update[ project-list ]

      上传修改的代码 ,如果你本地的代码有所修改,那么在运行 repo sync 的时候,会提示你上传修改的代码,所有修改的代码分支会上传到 Gerrit (基于web 的代码review 系统), Gerrit 受到上传的代码,会转换为一个个变更,从而可以让人们来review 修改的代码。

       6. repo diff [ project-list ]

        显示提交的代码和当前工作目录代码之间的差异。

       7. repo download  target revision

        下载特定的修改版本到本地, 例如:  repo download pltform/frameworks/base 1241 下载修改版本为 1241 的代码

       8. repo start newbranchname

        创建新的branch分支。 "." 代表当前工作的branch 分支。

       9.  repo prune [project list]

        删除已经merge 的 project

      10. repo foreach [ project-lists] -c command

       对每一个 project 运行 command 命令

      11. repo status

       显示 project 的状态

 

俺用这个来拉取meego的f分支代码, 使用如下命令:
repo init -u git://gitorious.org/meegotouch/libmeegotouch.git -b release-1.0.80.9


http://blog.csdn.net/taiketaike/article/details/6180227

阅读(1758) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~