各位sig-Computing的同学:

我们当前在openEuler社区还未做自动化补丁跟踪工作, 现在想加入自动补丁抓取机制;

机制chenyapan同学已经提供, 邮件下面是主要的一些信息;

我们现在glibcirqbalance先尝试下这个工具;

 

 

 

chenyanpan已经开发openEuler社区自动抓取补丁工具; https://gitee.com/openeuler/patch-tracking

自动抓patch工具自动生成issue; 例子: https://gitee.com/src-openeuler/coreutils/issues

自动抓patch工具会在issue中关联自动提交PR; 例如: https://gitee.com/src-openeuler/coreutils/issues/I231JM 关联 https://gitee.com/src-openeuler/coreutils/pulls/21

自动提issue, issue标题可以看出是哪个分支的;

工具生成的PR如果冲突, 只有企业用户才可以修改, 无法让社区开发者参与;

自动抓取工具现在需要chenyanpan手工配置;  TODO: 配置建议放git仓中描述;

TODO: 如何记录每个patch合入的理由, 方便后续查看;

TODO: 自动PRcomment中没有说明补丁的社区来源信息, 不方便开发查询;

 

 

每个package包的维护信息自我描述, master分支创建.openeuler目录;

```

.openeuler/CODEOWNERS      # 代码owner

.openeuler/ci/guard.yaml   # 门禁配置

.openeuler/ci/xxx.py       # 自定义门禁脚本

.openeuler/fossbot/fossbot.yaml

.openeuler/patch/upsteam-patch-config.yaml   # 配置上游社区补丁抓取

.openeuler/patch/patches.yaml                # 记录不合入补丁的原因, 是否太复杂?

 

.openeuler目录的提交与代码提交分开, 不能混合提交;

.openeuler目录的提交不做门禁检查, 不触发编译, 不触发测试;

```

 

 

```yaml

# .openeuler/patch/upsteam-patch-config.yaml

# 上游社区git地址, 已经有yaml描述, 这里不重复

# openeuler社区的master分支的维护策略就是定期升级到社区最新版本, 因此不需要配置抓补丁工具;

# openeuler社区的LTS分支需要实时抓取补丁, 从上游社区的stable分支和mainline分支;

 

- branch: 'openEuler-20.03-LTS'  # 本地需要回合补丁的分支

    period: 1                          # 自动抓取周期()

    enabled: true                      # 是否开启跟踪

    - scm_branch: xxx                  # 上游社区跟踪的分支

      start_commit_id: xxx             # 上游社区跟踪分支开始的commit id

    - scm_branch: xxx

      start_commit_id: xxx

- branch: 'openEuler-20.03-LTS-Next'

    period: 1

    enabled: true

    - scm_branch: xxx

      start_commit_id: xxx

    - scm_branch: xxx

      start_commit_id: xxx

 

```