积分300 / 贡献0

提问5答案被采纳4文章45

[经验分享] OpenHarmony代码提交和合入流程介绍 原创

润开鸿_闻飞 显示全部楼层 发表于 2024-7-2 17:12:17

itopen组织 1、提供OpenHarmony优雅实用的小工具 2、手把手适配riscv + qemu + linux的三方库移植 3、未来计划riscv + qemu + ohos的三方库移植 + 小程序开发 4、一切拥抱开源,拥抱国产化

一、 签署开发者原创声明

您必须首先签署“开发者原创声明”,然后才能参与社区贡献。

点击这里进行设置

image.png

1.1 检查邮箱状态

选择Check DCO Status输入自己的邮箱,点击Submit可以看出你的邮箱是否已经签署

image.png

Note:该邮箱要是你gitee中绑定的邮箱,同时是你本地代码git配置的时候设置的邮箱,他将是你合入代码的唯一凭证

1.2 签署DCO

选择Sign My DCO,输入自己的name(英文名/姓名拼音)、邮箱(鸿蒙代码合入唯一标识)、邮箱验证码,然后点击I AGREE TO SIGN

image.png

二、代码fork到提交

2.1 从OpenHarmony组织中fork对应仓到个人仓下

我们以liteos_m仓为例

image.png

2.2 将fork过来的仓下载到本地

mkdir -p ${your_working_dir}
cd ${your_working_dir}
git clone $remote_link

2.3 文件权限和格式检查

代码提交必须在linux环境下进行,防止在windows环境下提交代码导致文件权限和格式的更改,在提交代码前必须进行权限和格式的检查,特别要注意 脚本 是否有可执行权限

执行 ll 命令,检查脚本文件执行权限,注意脚本是否有可执行权限 x 标识

# ll
-rwxr-xr-x 1 demo demo 5208 Aug 12 15:46 tracepoint.sh*
drwxr-xr-x 2 demo demo 4096 Aug 12 15:46 tracepoint_test/
-rwxr-xr-x 1 demo demo 1882 Aug 12 15:46 tracepointtestko.sh*
# 如果脚本无执行权限x,执行如下指令添加执行权限
chmod +x 文件名

查看和更改文件格式

vi 文件名
:set ff
# 若显示 fileformat=unix,则证明当前文件在linux环境下文件格式正确
# 若显示 fileformat=dos,则证明当前文件在linux环境下文件格式错误,执行如下命令进行更改,保存退出
:set ff=unix

2.4 单仓代码提交

git add .
git commit -sm "xxxx"
git push -u origin ${branch}

三、代码PR

3.1 issue获取

a> 从华为接口人处获取issue

b> 自行创建issue

3.2 issue与PR关联

参考issue于pr关联

将Issue与PR关联

创建PR或编辑已有的PR时,描述框输入#+I+五位Issue ID,即可将Issue与PR关联。此方法适用于多个PR关联一个issue,其他方法均不行

3.2.1 创建PR

Pull Requests--->新建Pull Request

image.png

image.png

提交成功后的界面

image.png

3.2.2 门禁检查

评论区输入start build后便开始门禁构建检查

image.png

点击openharmony_ci里面的链接可查看检查结果

image.png

image.png

点击通过/不通过可查看CodeCheck详细信息

image.png

3.2.3 静态检查

提交PR后缺陷扫描和规范扫描会出问题,里面如果有问题需要评估是否需要处理,不需要处理的需要说明原因

image.png

四、代码重新修改提交

在提交PR后发现代码有很多问题需要修改处理,特别注意此时按照如下操作

4.1 将自己gitee仓里代码下载到本地,和[2.2](#2.2 将fork过来的仓下载到本地)一致

mkdir -p ${your_working_dir}
cd ${your_working_dir}
git clone $remote_link

4.2 代码修改提交

代码修改后必须使用git commit --amend,这样能够保证我们比OpenHarmony的只提前一个commit,不会出现多个commit

# todo fix problem
git add .
git commit --amend # 此处特别注意必须使用 --amend
git push -f origin ${branch} # 此处必须加-f,否则提交不上去

image.png

4.3 PR处的变更

当我们重新提交后,在我们PR的地方会有提示,我们需要重新提交start build触发门禁

image.png

五、边界和关闭PR

如果需要重新编辑PR,我们点击编辑

如果PR不想用了,我们需要进行关闭,否则不能重新创建PR

image.png

六、代码合入

如果功能已经实现,代码检查没问题、门禁触发OK,然后找仓管理员进行合入

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

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

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

返回顶部