[经验分享] 【PREPARE工作准备】(五)OpenHarmony 代码上库 原创

诚迈_雨哥 显示全部楼层 发表于 2024-1-30 19:02:25

前言

到达这一步好比临门一脚,意义很大!您的代码被合入OpenHarmony平台,这是最后的一道关口,保证合入的是正确的,并且不会对系统造成意外。

一、 安装路线

二、避坑指南

1. 填写 ISSUE和PR 按照规范进行

  • ISSUE和PR 填写不规范会被扣分,甚至不予合入;

2. 一个 ISSUE 与多个 PR 关联

  • 一个 ISSUE 主题有多个 PR, 需要全部关联;
  • 涉及多个仓,建议用字母顺序的第一个仓建立ISSUE, 并且按顺序提交PR;

3. 如果修改的仓特别多,存在编译依赖,而且不能一批上完,有什么要注意的?

  • BUILD.gn 和 CMakefile最后提交,也就是让先提交的代码不参与编译;

4. 被合入之后要不要下载镜像测试一下?

  • 上库的人众多,不能保证你修改的代码短期内不会被人修改回去,另外OpenHarmony服务器上的编译环境可能与你的环境有差异,有必要下载镜像测试一下。
  • CI 日构建镜像链接: http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist

5. 功能性代码,只有被测试人员测试通过,并且其他问题不会溯源到你这里,才代表这一笔合入真正完成。

三、 登录gitee、拉取代码

没有注册请先注册gitee账号

1.1 打开 www.gitee.com官网登录个人账户

1.png

1.2 打开openharmony网页 https://gitee.com/openharmony

打开仓库页面

a.PNG

1.3 选择要修改的仓库

点击1处仓库,在2处搜索仓库,输入所要搜索的仓库名,按回车键,点击要进入的仓库。

2.png

1.4 从公仓forked到私仓

进入所要拉取的仓,点击forked将公共仓拷贝1份到私仓下。

3.png

1.5 查看私仓

回到个人主页,1处的watches,会显示已经拷贝的公共仓

4.png

1.6 进入私仓,复制代码链接

进入私仓点击1处的克隆/下载,选择2处的SSH,点击3处的复制。

5.png

1.7 在虚拟机家目录新建拉取代码仓的文件夹,例如 fix,进入该文件夹后执行

  1. 克隆私仓代码到本地
mkdir fix
cd fix
git clone git@gitee.com:XXXXXXX/drivers_framework.git

6.png

  1. 修改这一部分相关代码 后续的修改在这里进行,主要使用比较工具(BeyondCompare)将修改的内容同步到这里,保证新修改的功能是正确的,并且不影响其他功能,就可以上传了。

四、在公仓创建ISSUE

上库代码必须保证是正确的,就可以进行上库操作。

4.1 在 https://gitee.com/openharmony找到要修改的公仓

4.2 点击进入在进入的公仓下创建ISSUE

记住ISSUE号,后续PR(Pull Requests)需要关联。

8.png

4.3 描述新建的ISSUE

选择任务还是需求、缺陷还是安全问题。描述具体的操作,可以是中文也可以是英文,底下为具体的任务描述解决方案。

9.png

五、上库

5.1 在本地拉取的代码目录执行下面命令进行上库

在拉取的fix文件夹下,再进入下一级文件夹

git status     查看状态确定修改是自己操作修改的文件【红色】
git add .      提交本地当前的变化
git status     查看状态是否已提交本地当前的变化【绿色】
git commit -sm "XXX"   描述修改了什么进行了什么操作使用英文
git push -f origin master 本地强制上传到私仓,把私仓覆盖。

5.2 私仓下创建PR

  1. 填写PR信息 在www.gitee.com私仓,在要提交的私仓下创建PR(Pull Requests) 描述关联相关的Issue, 原因(目的、解决问题),描述(做了什么,变更了什么),测试用例(有则描述,没有写无)。

    10.png

  2. 选择将要合并的分支 PR创建默认状态是未开启的,合并可以选择分支是gitee主干还是其他分支。默认为master主干。

    11.png

5.3 评论 start build触发门禁,进行构建

在创建好的PR下,评论 start build触发门禁。

5.4 构建完成后,CodeCheck 错误需要接口人屏蔽的情况

不用修改代码,重新 start build, 直到CodeCheck错误消失

5.5 构建完成后,CodeCheck 错误需要修改的情况

修改完CodeCheck,需要重新提交一次,再触发 start build,二次修改提交指令列表:

git add .
git commit --amend -s
git push -f

5.6 非个人原因导致CI 门禁失败,重新 start build, 直到全部成功,全部成功如图

12.png

5.7 最终构建完成

构建完成,无 CodeCheck错误,找接口人代码检视review,没有问题他会点赞加分,最后找该仓负责人合入merge。

六、恭喜您

您已成为OpenHarmony贡献者一员了。今后阅读代码、开发代码、测试功能将充满您后续的职业生涯。OpenHarmony更大成就等您来缔造,不要停,加油!

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部