没做排序 ;)
实际上是因为之前有一个提交触发了bug,我又重新考虑了下。
Yaml作为一个文本,大家修改起来确实比较容易。 但是有些朋友用的编辑器有问题,比如在文件头加了个UTF-8的BOM,这样会导致ruby的yaml解析器错误(可气的是只有部分错误,还能正常load一部分内容 -_-||) 这类问题肉眼是看不出来的,只是git blame看有一个奇怪的空格。
所以我打算采用代价最小的随机插入模式,再运作一段时间,进一步观察下yaml管理会带来的问题,再做改进 ;)
From: wufengguang Sent: Sunday, May 10, 2020 7:22 AM To: Huxinwei huxinwei@huawei.com; Rui Chen chenrui.momo@gmail.com; myeuler myeuler@163.com Cc: tc@openeuler.org; Xiongwei (William, Euler) xiongwei888@huawei.com; Xiehong (Cynthia) xiehong@huawei.com; Guohanjun (Hanjun Guo) guohanjun@huawei.com; Xiexiuqi xiexiuqi@huawei.com; Zhanghailiang zhang.zhanghailiang@huawei.com; Wangxun (Dream) dream.wangxun@huawei.com Subject: 答复: [Tc] Re: [讨论]变更当前的SIG申请和repository申请流程
请问是不是还没做出选择或者排序实现?那我追加个point吧 如果是line-wise format,我认同1)排序很简单2)视觉效果好 然而这两个文件都是yaml format,保持顺序的投入产出比将会大打折扣。 其实原本的下意识“追加”模式就是无序的。 基于以上原因,我建议不增加排序要求。这一新要求会持续耗费人力。
Regards, Fengguang 发件人: Huxinwei 发送时间: 2020年4月28日 21:57 收件人: wufengguang <wufengguang@huawei.commailto:wufengguang@huawei.com>; Rui Chen <chenrui.momo@gmail.commailto:chenrui.momo@gmail.com>; myeuler <myeuler@163.commailto:myeuler@163.com> 抄送: tc@openeuler.orgmailto:tc@openeuler.org; Xiongwei (William, Euler) <xiongwei888@huawei.commailto:xiongwei888@huawei.com>; Xiehong (Cynthia) <xiehong@huawei.commailto:xiehong@huawei.com>; Guohanjun (Hanjun Guo) <guohanjun@huawei.commailto:guohanjun@huawei.com>; Xiexiuqi <xiexiuqi@huawei.commailto:xiexiuqi@huawei.com>; Zhanghailiang <zhang.zhanghailiang@huawei.commailto:zhang.zhanghailiang@huawei.com>; Wangxun (Dream) <dream.wangxun@huawei.commailto:dream.wangxun@huawei.com> 主题: RE: [Tc] Re: [讨论]变更当前的SIG申请和repository申请流程
谢谢 Rui 和 Fengguang。两位的方法都很简洁有效。
如果是排序的话,我会重新sort几个yaml中list的内容,以后TC需要review时也额外注意这一点。 如果是随机的话,则可以省略掉排序的问题,成本更低,但这个要求对每个人的理解可能都不一样 ;)
再等等其他朋友的反馈。 周四放假前,我们在所有建议中做个选择吧。
Regards Xinwei
From: wufengguang Sent: Tuesday, April 28, 2020 9:00 PM To: Rui Chen <chenrui.momo@gmail.commailto:chenrui.momo@gmail.com>; myeuler <myeuler@163.commailto:myeuler@163.com> Cc: Huxinwei <huxinwei@huawei.commailto:huxinwei@huawei.com>; tc@openeuler.orgmailto:tc@openeuler.org; Xiongwei (William, Euler) <xiongwei888@huawei.commailto:xiongwei888@huawei.com>; Xiehong (Cynthia) <xiehong@huawei.commailto:xiehong@huawei.com>; Guohanjun (Hanjun Guo) <guohanjun@huawei.commailto:guohanjun@huawei.com>; Xiexiuqi <xiexiuqi@huawei.commailto:xiexiuqi@huawei.com>; Zhanghailiang <zhang.zhanghailiang@huawei.commailto:zhang.zhanghailiang@huawei.com>; Wangxun (Dream) <dream.wangxun@huawei.commailto:dream.wangxun@huawei.com> Subject: 答复: [Tc] Re: [讨论]变更当前的SIG申请和repository申请流程
这是一个非常简单可行的方案,可以立即解决问题。 照此原理,是不是要求大家随机选取位置插入也行?这样负担就更小了。 只需要在三个文件的首行加一行注释:
# Don’t append! Insert in a random place to avoid git merge conflicts.
Thanks, Fengguang 发件人: Rui Chen [mailto:chenrui.momo@gmail.com] 发送时间: 2020年4月28日 20:38 收件人: myeuler <myeuler@163.commailto:myeuler@163.com> 抄送: Huxinwei <huxinwei@huawei.commailto:huxinwei@huawei.com>; tc@openeuler.orgmailto:tc@openeuler.org; Xiongwei (William, Euler) <xiongwei888@huawei.commailto:xiongwei888@huawei.com>; Xiehong (Cynthia) <xiehong@huawei.commailto:xiehong@huawei.com>; Guohanjun (Hanjun Guo) <guohanjun@huawei.commailto:guohanjun@huawei.com>; Xiexiuqi <xiexiuqi@huawei.commailto:xiexiuqi@huawei.com>; Zhanghailiang <zhang.zhanghailiang@huawei.commailto:zhang.zhanghailiang@huawei.com>; Wangxun (Dream) <dream.wangxun@huawei.commailto:dream.wangxun@huawei.com> 主题: [Tc] Re: [讨论]变更当前的SIG申请和repository申请流程
提供一个替代方案,可以考虑一下,保留当前的三个yaml文件,然后对yaml文件内容节点按照字母排序,区分大小写,这样在新增SIG或者SIG新增项目时,会相对均匀的分布到文件的不同位置,相当于按字母分区了,避免所有的修改都到文件末尾,引起冲突。TC在review的时候,注意提醒提交者保持顺序就可以了。
myeuler <myeuler@163.commailto:myeuler@163.com> 于2020年4月28日周二 下午7:15写道:
我觉得这种方式比较好。这就能完全解决问题了。我没有问题。
在 2020-04-28 18:20:06,"Huxinwei via Tc" <tc@openeuler.orgmailto:tc@openeuler.org> 写道: 大家好:
我想在这里发起下“关于TC管理SIG和repository申请流程”的讨论。
[背景]
当前申请新sig时需要在sig目录中创建一个新的子目录,并且在sigs.yaml中增加相应项。 而申请新repo时,需要在src-openeuler.yaml, openEuler.yaml以及sigs.yaml增加相应项。 由于新增时习惯性会在yaml文件最底部添加,在变更频繁时冲突非常激烈。
我们注意到有些PR就是因为这个原因,反复修改来解决冲突,体验非常不好。
但,我们也不能简单的对上述文件做拆分,因为gitee提供的机制只能对有限个文件的变化做监控。 如果随意拆分,会导致当前社区自动化流程失灵。
[解决方案建议]
1. 保留repositories/src-openeuler.yaml, repositories/openEuler.yaml以及sig/sigs.yaml这三个文件,但是不再接纳TC团队之外发起的任何提交。
2. 将当前repositories/src-openeuler.yaml的内容按首字母拆分到repositories/src-openeuler/$initial_character/$repo_name.yaml中。首字母不区分大小写。
3. 将当前repositories/openeuler.yaml的内容按首字母拆分到repositories/openeuler/$initial_character/$repo_name.yaml中。首字母不区分大小写。
4. 将当前sig/sigs.yaml的内容,按所属SIG,拆分到sig/$sig_name/repositories.yaml中。
5. 新申请SIG时,只需要需要创建相应的SIG目录,填写OWNER,与 repositories.yaml
6. 新增repo时,需要在repositories中相应目录下创建$repo_name.yaml,并在sig/$sig_name/repositories.yaml中新增对应项。
7. 当这些PR被approve之后,TC运行脚本来整合各个分散的yaml文件,提交一个PR来统一修改前述三个yaml文件。
[遗留问题]
1. 由于SIG对自己目录中有完全修改权,所以SIG可以自行修改目录中的repositories.yaml。但是这个修改不会生效。TC在整合各个sig的yaml时,需要做额外的检查。
请大家对这个方案建议发表意见。我在随后两天会整合大家意见,发出TC的机器人脚本。
谢谢
Poincaré Laboratory Huawei Technologies Co.,Ltd.
_______________________________________________ Tc mailing list -- tc@openeuler.orgmailto:tc@openeuler.org To unsubscribe send an email to tc-leave@openeuler.orgmailto:tc-leave@openeuler.org