原文网址:http://blog.csdn.net/mr_president/article/details/7693707

根据Google官网上的方法在我们实验室搭建了一个本地的Android代码镜像服务器,

今天一个师弟在服务器上利用repo sync下载源代码下到99%的时候,出现了下面的问题:

$ repo sync

fatal: Not a git repository: '/home/andev/android/.repo/projects/bionic.git'
Fetching projects: 99% (219/221) fatal: Not a git repository: '/home/andev/android/.repo/projects/bionic.git'

上网搜了很长时间都找不到原因,利用Ctrl+z强行终止下载,然后重新repo sync还是出现同样的错误,

最后发现是repo版本的问题,由于Google官方不定期的更新repo,我那个师弟的repo版本有点旧,重新下载

最新版本的repo,重新repo init,repo sync就不会出现上面的问题了。

repo sync停止了怎么办?

repo sync是可以断点续传的,中间要是某个project断了直接ctrl c就可以下一个了,到时候在重新sync一遍

或者ctrl z, 中断之后再进行repo sync即可

repo的小结

http://blog.csdn.net/wh_19910525/article/details/8164107

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

1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo >~/bin/repo 来下载 repo , chmod a+x ~/bin/repo

2. 用repo sync 抓取 android source code 的时候,会经常出现一些错误导致 repo sync 中断,每次都要手动开始。

可以在一个脚本里写如下的命令,来自动取重复:

repo sync
while [ $? -ne 0 ] 
do 
    repo sync
done

repo sync [project] 下载最新本地工作文件,同步 repository 中的代码。 可以指定需要更新的project , 如果不指定任何参数,会同步整个所有的项目

如果是第一次运行 repo sync , 则这个命令相当于 git clone 会把 repository 中的所有内容都拷贝到本地

如果不是第一次运行 repo sync , 则相当于 更新 和 自动合并 动作;

repo sync 会更新 .repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行 git rebase --continue

3. repo help [ command ] , 显示command 的详细的帮助信息内容

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

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 文件,如果不具体指定,那么表示为默认的 manifest 文件 (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

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

6. repo diff [ project-list ] 显示提交的代码和当前工作目录代码之间的差异。

7. repo forall -c command,对所有项目执行一个command命令,这个命令 相当 好用;

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

9. repo prune [project list] 删除已经merge 的 project

10. repo status 显示 project 的状态

最新文章

  1. 【Win10开发】绘制静态UI
  2. BZOJ 1861: [Zjoi2006]Book 书架
  3. List<Map<String,Object>>使用Java代码遍历
  4. telnet连接ip
  5. hdu 2014鞍山赛区 5073 Galaxy
  6. XML处理
  7. 【JavaScript】JavaScript回调函数
  8. ubuntu14.04下unix网络编程环境的配置
  9. 重新想象 Windows 8 Store Apps (2) - 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, RadioButton, CheckBox, ToggleSwitch
  10. Git知识总览(一) 从 git clone 和 git status 谈起
  11. 关于L1和L2的直观解释
  12. 伪分布式hadoop启动后jps查不到namenode的解决办法
  13. Sightseeing tour HDU - 1956(混合欧拉回路)
  14. [HEOI2016/TJOI2016]序列
  15. python datatype
  16. 消息队列系统 -- RabbitMQ
  17. 跨域资源共享(CORS)--跨域ajax
  18. rabbitMQ 常用命令
  19. Django 框架中定时触发脚本
  20. C#生成PDF2019

热门文章

  1. ssh链接数设置问题
  2. Google Go Programming In Eclipse
  3. NGINX高性能Web服务器详解(读书笔记)
  4. linux之awk、sed命令
  5. sdutoj 2624 Contest Print Server
  6. Zerojudge解题心得
  7. linux进程及进程控制
  8. ZOJ1655 Transport Goods(Floyd)
  9. [Unity2D]脚本基类MonoBehaviour介绍
  10. 生成arff文件,csv转为arff
  11. 前端开发与Seo基础
  12. EFsql笔记
  13. spring4使用websocket
  14. discuz! X3.2 自定义后台门户模块模板里的标签
  15. 贪心 CF 332 C 好题 赞
  16. 【7】用Laravel5.1开发一个简单的博客系统
  17. (转) 学习C++ -> 指针初步
  18. VBoxGuestAdditions.iso下载地址
  19. SUSE12Sp3-.NET Core 2.2.1 runtime安装
  20. java8_api_math