瀏覽代碼

Merge pull request #6711 from ckeditor/i/6710

Docs: Updated Git message convention. Closes #6710.
Piotrek Koszuliński 5 年之前
父節點
當前提交
cd133e48ce
共有 2 個文件被更改,包括 40 次插入34 次删除
  1. 1 1
      .github/PULL_REQUEST_TEMPLATE.md
  2. 39 33
      docs/framework/guides/contributing/git-commit-message-convention.md

+ 1 - 1
.github/PULL_REQUEST_TEMPLATE.md

@@ -1,4 +1,4 @@
-### Suggested merge commit message ([convention](https://github.com/ckeditor/ckeditor5-design/wiki/Git-commit-message-convention))
+### Suggested merge commit message ([convention](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/git-commit-message-convention.html))
 
 Type: Message. Closes #000.
 

+ 39 - 33
docs/framework/guides/contributing/git-commit-message-convention.md

@@ -18,14 +18,14 @@ Every commit made *directly* to the `master` branch must follow the below conven
 Commit message template:
 
 ```
-Type: A short sentence about the commit. Closes #XXX.
+Type (package-name): A short sentence about the commit. Closes #XXX.
 
-Optional description.
+Type (other-package-name): If the change affects more than one package, it's possible to put multiple entries at once. Closes #YYY.
 
-NOTE: Special note to be marked in the changelog.
+Optional description.
 
 BREAKING CHANGE: If any breaking changes were done, they need to be listed here.
-BREAKING CHANGE: Another breaking change if needed. Closes #YYY.
+BREAKING CHANGE: Another breaking change if needed. Closes #ZZZ.
 ```
 
 ### Commit types
@@ -35,7 +35,6 @@ BREAKING CHANGE: Another breaking change if needed. Closes #YYY.
 | Feature | `minor` | A new feature. | Visible |
 | Fix | `patch` | A bug fix. Should also be used for enhancements if they do not introduce new features at the same time. | Visible |
 | Other | `patch` | An enhancement — when it is neither a bug fix nor a feature. Example: public API refactoring. Use it also if you do not want to admit that it was a bug ;). | Visible |
-| Code style | `patch` | Our beloved code style improvements (used in the broad meaning of general code quality). | Hidden |
 | Docs | `patch` | Updated documentation. | Hidden |
 | Internal | `patch` | Other kinds of internal changes. | Hidden |
 | Tests | `patch` | Changes in test files. | Hidden |
@@ -44,26 +43,34 @@ BREAKING CHANGE: Another breaking change if needed. Closes #YYY.
 
 Each commit can contain additional notes which will be inserted into the changelog:
 
-| Type | Is backward compatible? |
-| --- | --- |
-| `NOTE` | Yes |
-| `BREAKING CHANGES` or `BREAKING CHANGE` | No |
+* `MAJOR BREAKING CHANGE` (alias: `BREAKING CHANGE`),
+* `MINOR BREAKING CHANGE`.
+
+If any change contains the `MAJOR BREAKING CHANGE` note, the next release will be marked as `major` automatically.
+
+For reference on how to identify minor or major breaking change see the {@link framework/guides/support/versioning-policy versioning policy guide}.
+
+### Package name
+
+Most commits are related to one or more packages. Each affected package should be listed in parenthesis following the commit type. A package that was the most impacted by the change should be listed first.
+
+It is, however, possible to skip this part if many packages are affected. This is a typically indication that this is a generic change and having all the packages listed would reduce changelog readability.
+
+The package name is based on npm package name, however it has the `@ckeditor/ckeditor(5)-` prefix stripped.
 
-If any visible change contains the `BREAKING CHANGE` note, the next release will be marked as `major` automatically.
+If your change is related to the main package only, use `ckeditor5` as the package name.
 
 ### Example commits
 
 A new feature without any breaking changes.
 
 ```
-Feature: Added support for RTL languages. Closes #1.
+Feature (ui): Added support for RTL languages. Closes #1.
 
 RTL content will now be rendered correctly.
-
-NOTE: Make sure to set `config.contentDirection` correctly.
 ```
 
-A bug fix for an existing feature (closes two tickets):
+A generic bug fix for an existing feature that affects many packages (closes two tickets):
 
 ```
 Fix: The editor will be great again. Closes #3. Closes #4.
@@ -72,21 +79,23 @@ Fix: The editor will be great again. Closes #3. Closes #4.
 Commit with updated documentation:
 
 ```
-Docs: Updated the README.
+Docs (link): Updated the README.
 ```
 
-Commit which provides or changes the tests:
+Commit that provides or changes the tests:
 
 ```
-Tests: Introduced missing tests. Closes #5.
+Tests (widget): Introduced missing tests. Closes #5.
 ```
 
-An enhancement which is not backward compatible. Public API was changed:
+An improvement that is not backward compatible and sent by a non-core contributor. Public API was changed:
 
 ```
-Other: Extracted `utils.moo()` to a separate package. Closes #9.
+Other (utils): Extracted the `utils.foo()` to a separate package. Closes #9.
+
+Feature (engine): Introduced the `engine.foo()` method. Closes #9.
 
-BREAKING CHANGE: The `util.moo()` method is now available in the `moo` package. See #9.
+MAJOR BREAKING CHANGE: The `utils.foo()` method was moved to the `engine` package. See #9.
 ```
 
 For the commits shown above the changelog will look like this:
@@ -95,29 +104,26 @@ For the commits shown above the changelog will look like this:
 Changelog
 =========
 
-## [1.0.0](https://github.com/ckeditor/ckeditor5-dev/compare/v1.0.0...v0.0.1) (2017-01-04)
-
-### Bug fixes
-
-* The editor will be great again. Closes [#3](https://github.com/ckeditor/ckeditor5-dev/issue/3). Closes [#4](https://github.com/ckeditor/ckeditor5-dev/issue/4). ([a0b4ce8](https://github.com/ckeditor/ckeditor5-dev/commit/a0b4ce8))
+## [1.0.0](https://github.com/ckeditor/ckeditor5/compare/v1.0.0...v0.0.1) (2017-01-04)
 
-### Other changes
+### MAJOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
 
-* Extracted `utils.moo()` to a separate package. Thanks to [@CKEditor](https://github.com/CKEditor). ([e8cc04f](https://github.com/ckeditor/ckeditor5-dev/commit/e8cc04f))
+* The `utils.foo()` method was moved to the `engine` package. See #9. See [#9](https://github.com/ckeditor/ckeditor5/issue/9).
 
 ### Features
 
-* Added support for RTL languages. Closes [#1](https://github.com/ckeditor/ckeditor5-dev/issue/1). ([adc59ed](https://github.com/ckeditor/ckeditor5-dev/commit/adc59ed))
+* **[engine](http://npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced the `engine.foo()` method. Thanks to [@CKEditor](https://github.com/CKEditor). Closes [#9](https://github.com/ckeditor/ckeditor5/issue/9). ([e8cc04f](https://github.com/ckeditor/ckeditor5/commit/e8cc04f))
+* **[ui](http://npmjs.com/package/@ckeditor/ckeditor5-ui)**: Added support for RTL languages. Closes [#1](https://github.com/ckeditor/ckeditor5/issue/1). ([adc59ed](https://github.com/ckeditor/ckeditor5/commit/adc59ed))
 
    RTL content will now be rendered correctly.
 
-### BREAKING CHANGES
+### Bug fixes
 
-* The `util.moo()` method is now available in the `moo` package. See [#9](https://github.com/ckeditor/ckeditor5-dev/issue/9).
+* The editor will be great again. Closes [#3](https://github.com/ckeditor/ckeditor5/issue/3). Closes [#4](https://github.com/ckeditor/ckeditor5/issue/4). ([a0b4ce8](https://github.com/ckeditor/ckeditor5/commit/a0b4ce8))
 
-### NOTE
+### Other changes
 
-* Make sure to set `config.contentDirection` correctly.
+* **[utils](http://npmjs.com/package/@ckeditor/ckeditor5-utils)**: Extracted the `utils.foo()` to a separate package. Thanks to [@CKEditor](https://github.com/CKEditor). ([e8cc04f](https://github.com/ckeditor/ckeditor5/commit/e8cc04f))
 ```
 
 ## Handling pull requests
@@ -147,7 +153,7 @@ When closing a PR remember to copy the source of the message to the textarea wit
 When closing a non-core contributor's PR make sure to add information about the contributor to the commit message. For example:
 
 ```
-Feature: Added support for RTL languages. Closes #1.
+Feature (ui): Added support for RTL languages. Closes #1.
 
 Thanks to @someone!
 ```