Platform: rk3399
OS: Android 7.1
Kernel: v4.4.83
拿到官方sdk之后需要在本地gerrit服务器上搭建环境。
manifest.xml过滤:
cat manifest.xml | sed 's;revision=.*/>;/>;g' | sed 's;remote=.*/>;/>;g' | sed 's;remote=.*>;>;g'> default.xml
修改开头几行:
<remote fetch="./" name="origin"/>
<default remote="origin" revision="refs/heads/master" sync-j="4"/>
此文件为rk原始code提交对应的xml文件,过滤后不做修改,保持git仓库不变。
在gerrit上建立一个空的branch,然后clone下来:
git clone ssh://kris.fei@10.89.18.11:29418/SY1892-Platform/manifest.git -b master
提交default.xml
git add .
git commit -m "Init version"
scp -p -P 29418 kris.fei@10.89.18.11:hooks/commit-msg .git/hooks/
git commit --amend
git push origin master:refs/for/refs/heads/master
测试:
git-repo/repo init -u ssh://kris.fei@10.89.18.11:29418/SY1892-Platform/manifest.git -b master
提交sdk代码:
git-repo/repo forall -c 'git remote add pb2 ssh://[email protected]:29418/SY1892-Platform/${REPO_PROJECT}'
git-repo/repo forall -c 'git push pb2 rk_origin:master' rk_origin是本地分支,后者一定要是master分支,否则repo sync会找不到master
添加tag:
git-repo/repo forall -c 'git tag rk3399_origin_20180128'
git-repo/repo forall -c 'git push pb2 rk3399_origin_20180128'
开发分支的创建:
.repo/manifests下修改xml文件为开发分支需要的那样,此时可以去除不用的git仓库,修改后再提交。
修改xml文件:
<remote fetch="./" name="origin"/>
<default remote="origin" revision="refs/heads/tek_dev" sync-j="4"/>
提交:
git push origin master:tek_dev
测试
git-repo/repo init -u ssh://kris.fei@10.89.18.11:29418/SY1892-Platform/manifest.git -b tek_dev
rk代码push到我们的gerrit上:
git-repo/repo forall -c 'git remote add pb2 ssh://[email protected]:29418/SY1892-Platform/${REPO_PROJECT}'
git-repo/repo forall -c 'git push pb2 rk_origin:tek_dev' rk_origin是本地分支,tek_dev是远程仓库分支, 此push动作可以直接创建后者, tek_dev名字要和manifest中新创建的分支名字一致
给远程仓库添加tag:
git-repo/repo forall -c 'git tag rk3399_tek_dev_20180128'
git-repo/repo forall -c 'git push pb2 rk3399_tek_dev_20180128'
如果branch name和tag打错了,也可以删除:
删除远程仓库的rk3288分支:
git-repo/repo forall -c 'git push pb2 :rk3399_origin'
删除远程仓库tag
git-repo/repo forall -c 'git push origin :refs/tags/rk3399_origin_20180128'