提交规范
注意: 本节主要以内部的最佳实践分享,非强制要求。
Puppet Modules使用git做版本控制工具,因此我们这里不会去重复git文档中的基础知识点。
我们这里主要提及的有以下几点:
- 每次commit中应该包含哪些代码?
- commit message的格式应该怎么写?
- 代码提交是否应该和其他系统关联?
1.提交规范说明
- 每次提交只包含相关的Puppet代码逻辑和单元测试
- 第一行是commit的简短描述
- 在第一行和后面段落之间插入一个空行
- 提供针对本次commit的详细描述(可选)
- 本次提交的类型,Type是:(BF|NF|RF|OT|BugFix|NewFeature|ReFactor|Other)
- 关联JIRA issue,Jira: link链接
- 每行不能超过72个字符
1.1 Type类型说明
Type类型 | 全称 | 说明 |
---|---|---|
BF | BugFix | 漏洞,问题修复 |
NF | NewFeature | 新特性开发 |
RF | ReFactor | 代码重构,架构重构,文档补充等 |
OT | OTher | 其他类型,例如,添加.gitreview,添加.gitignore,添加mailmap等与项目无关操作 |
1.2 Label类型说明
Label类型 | 全称 | 说明 |
---|---|---|
Type | Commit-Type | 必填,本次提交的类型 |
Jira | Jira-Link | 必填,Jira的链接 |
FC | Forward Compatibility | 可选,是否向前兼容,原则上不允许不向前兼容的代码 |
CT | CriTicality | 可选,危险程度,一般只适用于线上变更项目 |
1.3 格式样例
commit 7c027d40e2b616ba57f7c69f8162a6311461a566
Author: [removed]
Date: Fri Aug 28 10:14:28 2015 -0700
Ensure setuptools is somewhat recent
Due to bugs in older setuptools version parsing
we need to set a relatively new version of setuptools
so that parsing works better (and/or correctly).
This seems especially important on 2.6 which due to
a busted setuptools (and associated pkg_resources) seems
to be matching against incorrect versions.
Type: BF
Jira: DEVOPS-453
Change-Id: Ib859c7df955edef0f38c5673bd21a4767c781e4a