Chiefr:分布式项目开发模型和工具包

本项目的目的是在项目成员之间共享和去中心化项目不同部分的开发和维护。Chiefr的灵感来自于Linux内核及其“get_contributors.pl”脚本的贡献模型。

1.png

为什么要使用Chiefr?

一个典型项目默认的贡献方案是完全集中化的。如果有一个贡献提交到项目或者仓库上,那么每个相关的人员都被通知到,并且各自手头的工作都会被中断,因此,这种方案并不适合于规模大的项目。对于拥有多个活跃成员的项目来说,随着项目的成长,其成员所浪费的时间也会越来越多,因为所有的贡献和问题都会发送给每个成员。

Chiefr的目标就是要通过更好的流程和工具来解决这个问题。

Chiefr如何工作?

Chiefr要求将单个项目拆分为多个逻辑段,每个段都有各自的维护者、存储库和可选的其他服务,比如邮件列表或者聊天群组。为方便管理,根据项目的大小,每个段可以切分成多个更小的段。

如果在把这个模型应用到自己项目的过程中遇到任何问题,请随时与我联系。

特性

对于维护者: 
- 将代码库不同部分的所有权分配给不同的维护者 
- 自动拉取请求的标签和相关维护者的任务

对于贡献者: 
- 在提交贡献的时候,Chiefr会显示对应的仓库和维护者

使用方法

Chiefr工具

Chiefr同时也是一个依赖于.maintainers.ini的命令行工具,具有以下命令: 
submit:显示在哪里可以提交补丁 
list:列出项目所有的段 
update-pull-request:根据.maintainers.ini更新一个拉取请求的被指定人和主题 
ask:显示哪里可以提出有关某个主题的问题(尚未实现) 
add:将新的段添加到.maintainers.ini中(尚未实现) 
scan-project:搜索没有维护者的段(尚未实现)

维护者文件(.maintainers.ini

Chiefr需要在项目根目录中存在.maintainers.ini文件,该文件定义了项目的段。.maintainers.ini可以包含任意数量的段。

段定义了项目的逻辑块资源。

段的属性: 
Chiefs:负责当前段的项目成员列表,多个成员之间用逗号分隔 
Repository:用于提交补丁的仓库URL 
Chat:聊天服务URL 
MailList:邮件列表URL 
IssueTracker:问题跟踪URL 
Reviewers:负责代码审核的项目成员列表,多个成员之间用逗号分隔 
FilePatterns:用于指定要包含在此段中文件的正则表达式列表,用逗号分隔 
ContentPatterns:指定此段中应包含哪些补丁内容的正则表达式列表,用逗号分隔 
FileExcludePatterns:用正则表达式从FilePatterns匹配到的文件中排除出去,用逗号分隔 
ContentExcludePatterns:用正则表达式从ContentPatterns匹配到的文件中内容中排除出去,用逗号分隔 
Priority:如果某个更改集会影响多个段,则此优先级用于描述所列段的顺序 
Topics:段的主题,多个主题之间用逗号分隔

.maintainers.ini中有关段的示例:

[code]
Repository = https://github.com/asciimoo/chiefr
IssueTracker = https://github.com/asciimoo/chiefr/issues
Chiefs = @asciimoo
FilePatterns = .+.go

Priority = 1 宁波整形医院 http://www.tjyestar.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值