My Octopress Blog

Rise of the Apes.

Elink 代码规范

1:机型命名:

Elink 软件机型由内部自己定义,不和外部的外壳等等有关联。遵循简单、规律、好记的原则。
具体命名规则,请参考《Elink 机型命名规则》,项目前立项时,由项目经理提供配置单给蔡锦涛负责命名。
在代码里面,请给与变量PRODUCT_MODEL赋值,例如

PRODUCT_MODEL=MD7065HC

那么系统标准的属性,ro.product.model会变赋值为

ro.product.model=MD7065HC  

2:软件版本号命名:

软件版本号分为两个版本,一个是中性版本号,一个是生成版本号。

  • 中性版本号: 为了标示当前中性代码的版本情况,不随编译日期而改变,一般不随版型机型而变化,影响整份代码,一般不包含客户需求,乃Elink标准软件。
    给属性ro.custom.build.version赋值即可,例如:

    ro.custom.build.version=1.22_20130903 这个版本号还和Readme对应起来,还和代码的TAG对应起来,便于管理。

  • 生成版本号 表示软件工程师制作出来的软件版本号命名,和具体的版型机型有关,还和编译日期有关。
    例如:
    规则为:芯片版型机型_(客户单号).YYYYMMDD
    例如标准软件:MT77_MD7062HC1.20130903
    例如客制软件:MT77_MD7062HC1_123456.20130903
    它影响的属性为:

1
ro.build.display.id

3:代码分支管理:

一般代码,我们有以下几种情况:

  1. 我们自己拿到的代码创建的仓库,我们简称为mtk分支,对应远程分支master。
  2. Elink标准代码分支, 我们简称为elink_sw分支,一般对应远程分支为elink_sw分支。

    4:目前代码管理存在的问题点:

    问题1:不同中性版本号之前的差异,无法快速切换? 解决方案:使用git tag.
    每个repo 中的每个git使用一个tag,这个tag,使用中性版本号来表示,例如
    当MT6577的代码,使用了1.22_20130903这个版本号,还需要在push上之前,打上这个tag信息。

使用方法:

git tag 1.22_20130903

简单操作如下:

repo checkout elink_sw
repo forall -c git tag 1.22_20130903
repo forall -c git push remotegitname elink_sw:elink_sw   //推代码到指定分支上去。
repo forall -c git push remotegitname 1.22_20130903

具体请参考:
git的tag,跟分支一样简单。
每次上线养成打tag好习惯 :)

$: git tag 1.22_20130903_publish

加上-f覆盖原有的tag

$: git tag -f 1.22_20130903_publish

显示所有的tag

$: git tag
1.22_20130903_publish
1.22_20130903_publish
1.22_20130903_publish

删除tag

$: git tag -d 1.22_20130903_publish

tag要push上服务器,操作跟分支操作没有任何区别

*push 到服务器

$: git push origin 1.22_20130903_publish

*从服务器上删除

$: git push origin :1.22_20130903_publish

具体详细,可以参考git tag的帮助,或者参考其他资料获取。