积分305 / 贡献0

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

[经验分享] OpenHarmony版本升级之提取公共commit 原创

润开鸿_闻飞 显示全部楼层 发表于 2024-6-18 21:48:12

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

我们在基于OpenHarmony开发某一款产品的时候,有时候需要将获取从主线拉出的两个分支之间的差异patch。 本脚本的功能主要是提取两个分支之间的patch,例如下图所示,某个仓基于master分支先后拉去了dev1和dev2两个分支,现在需要提取commit1到commit3之间的patch,本脚本便是实现该功能,基本步骤如下

  • 获取dev1的前20000个commit生成文件tmp1
  • 获取dev2的前20000个commit生成文件tmp2
  • 遍历tmp1和tmp2的commit,找到第一个相同的start_commit后保存,即图中的commit1
  • 获取dev2的第一个commit设为end_commit,即图中的commit3
  • 基于start_commit和end_commit生成patch

image.png

2.1 脚本配置及运行

脚本下载:itopen: update_patch 配置好以下的变量后直接运行 ./main.py即可,脚本中的参数说明

  • path:代码的路径
  • src_branch:目标分支,对应图中的dev2
  • dst_branch:基线分支,对应图中的dev1
  • patch_file:生成的patch文件的绝对路径

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

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

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

返回顶部