上海展讯repo下载代码
2015-06-23 17:00
357 查看
代码服务器
展讯主代码服务器为:gitosis@sprdroid.git.spreadtrum.com.cn展卓镜像服务器为:iter@10.101.1.20
请优先使用展卓镜像服务器,除非展卓代码服务器不能使用或者代码不同步
配置展讯通用key
$ mkdir ~/.ssh $ cat <<EOF >~/.ssh/id_rsa -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAxDLjzIc/ku1znguzQ/rXNLHz/HLMxfDCslgOWyffzmR/tErO YpsUgX1l8qbY5wwJZL/KE69uiIUr+c6UM66sa9IkZbe0IhcblFaFgJnwEGdRIMOz 9K0dyGulK+XhgrupBDuVoYyVSBeCbdPSdTpoSpjICGcKwN79NQWRSRkTzccqH4fo ffgjz4mULxSEDwMb0ECbhuaXs5LNI4k3t3U1hLzMmNFDlCvyBs77fIKkMxcN368D IG7+6aEz1StQ3eHoGi6x9WbarhkOjq4c/2W8HYb0CRteoNfA4u1AXepuzTK9An6z nj6dzJX0PmZko5euyRVO2o9cd2DDDIReLv9yrwIDAQABAoIBAG90sXAJDRZ8igeo gegGYabvyLkKxkVUJmaGG3GxTzTCZsGXFXNywc1l3TphiiqG7fcr9LIGIPaxIHBC 6HILsqt1r3ORTmVnVyWHmUObL4NCDhZc1qgSiC7I6AXuC5Pm43ciGjix0kQoBtI5 WP97dK+b51bOoo86ngE27nfmJRfqIfzeUrPgS/jFtRm8ZPsqG1tG/d+Ok9i5qp8R lqSkYR+h3xa1wuFZwYe5mxLaMjC4NwkJPiEFR78DK70GmNSNXFpm9U8rUDGGiGIX xWUzbq54SrTDC6amxCBAw/+/AB8wffNnbVY83KD5Y84CC5CwrHSVEjmtFhDr+TSp rQmAPjECgYEA/T9jFnJtPTKi+DOBsKr1/BcWEN84nk/XM3MaRUN1uw03lwhtkgGQ A8fA69MfZp2/td8ZRJCLp1QLYXmLZK1dpffG1/EanlGyk3wfidjSlKadgtfYldXB LyArvNIT3VrtSAptxIYv/peoqWYQTBirMmerdQqB4FUXm10XYTs49LUCgYEAxlTG fv5HSBULJnH4kw9z/OgWOLNy0M+qI6zbOKhDfEEtj4AZzhnmfWXpSCq7yObx4W9G k+2PMzGO3yHq4z4aRsjJTYIWFVp/XABqoTLrMpA1osayFEu5iwroipH2/0Hw+20r 88Wm07NaJo6HSnx0ZHhlnAu3ESB4Xa+1Xmg1LFMCgYEAp3taPqgiUozAdsEpjfsi fzuNXk8iFKDcw6vlvdTlcXVGRF5QiHT8F2Pt1IhlhenhtZf8D/pAQcM1W5uUclqt SmvZV0qevgFtxlgaS4HXknO2S6gQFtes0UvHYTLV7FiMAE7VVVkhOJB3/MABGzJd VhJ1tAvk5MWhvSANrEIMYtkCgYAiw/mHiUs1d3rc4l2QacULMCO1DL+zmrNYTZSf +d7aiRJTdUEQv7mHgbXC0LraHKGJwte8VogjkSxaMLfb3ab9gXTIAWWdmJ96oRgP 6b0Qv/am8e2FYUDE/sSEhdGmLQjxCdIKiTsVIPtMhu9wPyCn+/LTx7nvZqGyynog cmPfwQKBgDHHmzyNh3bRzh38UyyMsPF/tOxqDJM+765EGjK327T58IFVQhAPuaqR auBWz08aP4O4FvZwlMl+bf74GM/mRBhL+6uC3vKRm0xAiZLFcJAHuAFLmG1E/44j psqmDhaLzah+fa1Zsn9Zr1HoMYehVuBp5s9FV1T1kXxB28Ld74FJ -----END RSA PRIVATE KEY----- EOF $ cat <<EOF >~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEMuPMhz+S7XOeC7ND+tc0sfP8cszF8MKyWA5bJ9/OZH+0Ss5imxSBfWXyptjnDAlkv8oTr26IhSv5zpQzrqxr0iRlt7QiFxuUVoWAmfAQZ1Egw7P0rR3Ia6Ur5eGCu6kEO5WhjJVIF4Jt09J1OmhKmMgIZwrA3v01BZFJGRPNxyofh+h9+CPPiZQvFIQPAxvQQJuG5pezks0jiTe3dTWEvMyY0UOUK/IGzvt8gqQzFw3frwMgbv7poTPVK1Dd4egaLrH1ZtquGQ6Orhz/ZbwdhvQJG16g18Di7UBd6m7NMr0CfrOePp3MlfQ+ZmSjl67JFU7aj1x3YMMMhF4u/3Kv spreadst@spreadst-OptiPlex-790 EOF
测试一下配置是否OK
ssh gitosis@sprdroid.git.spreadtrum.com.cn 或者 ssh iter@10.101.1.20
如果出现提示输入密码,就说明key没有配置好,如果出现类似下面输出,就说明配置OK。
PTY allocation request failed on channel 0 hello liujk, the gitolite version here is v1.5.8-0-gf88b097 the gitolite config gives you the following access: @R_ AGPS 。。。。。 @R_ whale_security/.+ Connection to sprdroid.git.spreadtrum.com.cn closed.
准备repo命令
$ mkdir ~/bin $ git clone ssh://gitosis@sprdroid.git.spreadtrum.com.cn/tools/newrepo.git -b stable $ cp newrepo/repo ~/bin $ source ~/.profile
下载代码
首次下载使用命令:$ mkdir -p ~/work/source/sprdroid5.0_3.10_lsk $ cd ~/work/source/sprdroid5.0_3.10_lsk $ repo init -u iter@10.101.1.20:android/platform/manifest.git -b sprdroid5.0_3.10_lsk $ repo sync
由于下载不同分支代码会重复下载很多东西,再次下载可以在repo init时添加一个reference参数指向以前下载过的代码,以节约硬盘空间。命令如下:
$ mkdir -p ~/work/source/sprdroid5.0_3.10_lsk_dev $ cd ~/work/source/sprdroid5.0_3.10_lsk_dev $ repo init -u iter@10.101.1.20:android/platform/manifest.git -b sprdroid5.0_3.10_lsk_dev --reference=~/work/source/sprdroid5.0_3.10_lsk $ repo sync
有的时候为了快速下载,可以用下面这条命令
$ repo sync -d -c -q -j8
这条命令的意思是:
(-d) 强制使manifest生效,切换到manifest中指定的revision
(-c) 仅下载当前分支
(-q) 更安静
(-j8) 更快速,8线程
错误处理
如果git版本比较低(比如ubuntu12.04上git最高版本为1.7.9),在使用repo sync更新代码时会出现如下类似错误:fatal: '../platform/system/vold.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly
这时只能修改manifest文件了,打开文件.repo/manifest.xml,修改
<remote name="korg" fetch=".."
为
<remote name="korg" fetch="iter@10.101.1.20:android"
修改后重新repo sync即可
建立本地分支
代码下载完成后,所有的git库都不会建立本地分支,尽管实际文件已经和远程分支文件一致。进入任意一个git库使用命令 git branch 都会看到 (no branch)。
对于编译以及修改代码来说没有什么问题,但是如果要提交代码就不行了,没有本地分支是不能提交代码的。
因此一定要建立本地分支才行,命令如下:
$ repo start --all sprdroid5.0_3.10_lsk
其中sprdroid5.0_3.10_lsk为本地分支名,实际使用时需要改为相应的分支名。
为了易于区分,建议本地分支名和远程分支名保持一致。
相关文章推荐
- dotnet(C#/mono)轻量级XML解析库Mono.Xml源码
- java中的泛型
- 推荐一些学习JAVA的书籍
- php类型转换以及类型转换的判别
- ModelAndView
- java8新特性学习
- java 中的this用法
- C++中的namespace
- DCT蝶形运算java实现
- 泛函编程(31)-泛函IO:Free Monad-Running free
- java 中 ==和equals 的区别
- PHP文件格式规范
- VB调用EXCEL,第二次报错问题
- java 中 String 类的几个问题
- 线程安全及Python中的GIL
- 代码审查--高效代码审查的十个经验
- python实现模拟登录【转】
- C#操作IE浏览器
- Python 学习笔记11
- Delphi XE的firemonkey获取当前文件所在路径的方法