上海展讯repo下载代码

代码服务器

展讯主代码服务器为:gitosis@sprdroid.Git.spreadtrum.com.cn

展卓镜像服务器为:[email protected]

请优先使用展卓镜像服务器,除非展卓代码服务器不能使用或者代码不同步


配置展讯通用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 [email protected]
或者
ssh [email protected]

如果出现提示输入密码,就说明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://[email protected]/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 [email protected]: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 [email protected]: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更新代码时会出现如下类似错误:

扫描二维码关注公众号,回复: 3091649 查看本文章
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="[email protected]:android" 

修改后重新repo sync即可

建立本地分支

代码下载完成后,所有的git库都不会建立本地分支,尽管实际文件已经和远程分支文件一致。
进入任意一个git库使用命令 git branch 都会看到 (no branch)。

对于编译以及修改代码来说没有什么问题,但是如果要提交代码就不行了,没有本地分支是不能提交代码的。
因此一定要建立本地分支才行,命令如下:

$ repo start --all sprdroid5.0_3.10_lsk

其中sprdroid5.0_3.10_lsk为本地分支名,实际使用时需要改为相应的分支名。
为了易于区分,建议本地分支名和远程分支名保持一致。

猜你喜欢

转载自blog.csdn.net/linux12121/article/details/75943055