Skip to content

Commit 394b643

Browse files
committed
patch: updated commit message guide
1 parent 96fa53b commit 394b643

File tree

1 file changed

+10
-169
lines changed

1 file changed

+10
-169
lines changed

docs/COMMIT-GUIDELINES.md

Lines changed: 10 additions & 169 deletions
Original file line numberDiff line numberDiff line change
@@ -12,67 +12,29 @@ over the commit history.
1212
- Be able to automatically reference relevant changes from a dependency
1313
upgrade.
1414

15-
The guidelines are inspired by the [AngularJS git commit
16-
guidelines][angular-commit-guidelines].
1715

1816
Commit structure
1917
----------------
2018

21-
Each commit message consists of a header, a body and a footer. The header has a
22-
special format that includes a type, a scope and a subject.
19+
Each commit message needs to specify the semver-type. Which can be `patch|minor|major`.
20+
See the [Semantic Versioning][semver] specification for a more detailed explanation of the meaning of these types.
21+
See balena commit guidelines for more info about the whole commit structure.
2322

2423
```
25-
<type>(<scope>): <subject>
24+
<semver-type>: <subject>
25+
```
26+
or
27+
```
28+
<subject>
2629
<BLANK LINE>
27-
<body>
30+
<details>
2831
<BLANK LINE>
29-
<footer>
32+
Change-Type: <semver-type>
3033
```
3134

3235
The subject should not contain more than 70 characters, including the type and
3336
scope, and the body should be wrapped at 72 characters.
3437

35-
Type
36-
----
37-
38-
Must be one of the following:
39-
40-
- `feat`: A new feature.
41-
- `fix`: A bug fix.
42-
- `minifix`: A minimal fix that doesn't warrant an entry in the CHANGELOG.
43-
- `docs`: Documentation only changes.
44-
- `style`: Changes that do not affect the meaning of the code (white-space,
45-
formatting, missing semi-colons, JSDoc annotations, comments, etc).
46-
- `refactor`: A code change that neither fixes a bug nor adds a feature.
47-
- `perf`: A code change that improves performance.
48-
- `test`: Adding missing tests.
49-
- `chore`: Changes to the build process or auxiliary tools and libraries.
50-
- `upgrade`: A version upgrade of a project dependency.
51-
52-
Scope
53-
-----
54-
55-
The scope is required for types that make sense, such as `feat`, `fix`,
56-
`test`, etc. Certain commit types, such as `chore` might not have a clearly
57-
defined scope, in which case its better to omit it.
58-
59-
Subject
60-
-------
61-
62-
The subject should contain a short description of the change:
63-
64-
- Use the imperative, present tense.
65-
- Don't capitalize the first letter.
66-
- No dot (.) at the end.
67-
68-
Footer
69-
------
70-
71-
The footer contains extra information about the commit, such as tags.
72-
73-
**Breaking Changes** should start with the word BREAKING CHANGE: with a space
74-
or two newlines. The rest of the commit message is then used for this.
75-
7638
Tags
7739
----
7840

@@ -121,125 +83,4 @@ Closes: https://github.com/balena-io/etcher/issues/XXX
12183
Fixes: https://github.com/balena-io/etcher/issues/XXX
12284
```
12385

124-
### `Change-Type: <type>`
125-
126-
This tag is used to determine the change type that a commit introduces. The
127-
following types are supported:
128-
129-
- `major`
130-
- `minor`
131-
- `patch`
132-
133-
This tag can be omitted for commits that don't change the application from the
134-
user's point of view, such as for refactoring commits.
135-
136-
Examples:
137-
138-
```
139-
Change-Type: major
140-
Change-Type: minor
141-
Change-Type: patch
142-
```
143-
144-
See the [Semantic Versioning][semver] specification for a more detailed
145-
explanation of the meaning of these types.
146-
147-
### `Changelog-Entry: <message>`
148-
149-
This tag is used to describe the changes introduced by the commit in a more
150-
human style that would fit the `CHANGELOG.md` better.
151-
152-
If the commit type is either `fix` or `feat`, the commit will take part in the
153-
CHANGELOG. If this tag is not defined, then the commit subject will be used
154-
instead.
155-
156-
You explicitly can use this tag to make a commit whose type is not `fix` nor
157-
`feat` appear in the `CHANGELOG.md`.
158-
159-
Since whatever your write here will be shown *as it is* in the `CHANGELOG.md`,
160-
take some time to write a decent entry. Consider the following guidelines:
161-
162-
- Use the imperative, present tense.
163-
- Capitalize the first letter.
164-
165-
There is no fixed length limit for the contents of this tag, but always strive
166-
to make as short as possible without compromising its quality.
167-
168-
Examples:
169-
170-
```
171-
Changelog-Entry: Fix EPERM errors when flashing to a GPT drive.
172-
```
173-
174-
Complete examples
175-
-----------------
176-
177-
```
178-
fix(GUI): ignore extensions before the first non-compressed extension
179-
180-
Currently, we extract all the extensions from an image path and report back
181-
that the image is invalid if *any* of the extensions is not valid , however
182-
this can cause trouble with images including information between dots that are
183-
not strictly extensions, for example:
184-
185-
elementaryos-0.3.2-stable-i386.20151209.iso
186-
187-
Etcher will consider `20151209` to be an invalid extension and therefore
188-
will prevent such image from being selected at all.
189-
190-
As a way to allow these corner cases but still make use of our enforced check
191-
controls, the validation routine now only consider extensions starting from the
192-
first non compressed extension.
193-
194-
Change-Type: patch
195-
Changelog-Entry: Don't interpret image file name information between dots as image extensions.
196-
Fixes: https://github.com/balena-io/etcher/issues/492
197-
```
198-
199-
***
200-
201-
```
202-
upgrade: etcher-image-write to v5.0.2
203-
204-
This version contains a fix to an `EPERM` issue happening to some Windows user,
205-
triggered by the `write` system call during the first ~5% of a flash given that
206-
the operating system still thinks the drive has a file system.
207-
208-
Change-Type: patch
209-
Changelog-Entry: Upgrade `etcher-image-write` to v5.0.2.
210-
Link: https://github.com/balena-io-modules/etcher-image-write/blob/master/CHANGELOG.md#502---2016-06-27
211-
Fixes: https://github.com/balena-io/etcher/issues/531
212-
```
213-
214-
***
215-
216-
```
217-
feat(GUI): implement update notifier functionality
218-
219-
Auto-update functionality is not ready for usage. As a workaround to
220-
prevent users staying with older versions, we now check for updates at
221-
startup, and if the user is not running the latest version, we present a
222-
modal informing the user of the availiblity of a new version, and
223-
provide a call to action to open the Etcher website in his web browser.
224-
225-
Extra features:
226-
227-
- The user can skip the update, and tell the program to delay the
228-
notification for 7 days.
229-
230-
Misc changes:
231-
232-
- Center modal with flexbox, to allow more flexibility on the modal height.
233-
interacting with the S3 server.
234-
- Implement `ManifestBindService`, which now serves as a backend for the
235-
`manifest-bind` directive to allow the directive's functionality to be
236-
re-used by other services.
237-
- Namespace checkbox styles that are specific to the settings page.
238-
239-
Change-Type: minor
240-
Changelog-Entry: Check for updates and show a modal prompting the user to download the latest version.
241-
Closes: https://github.com/balena-io/etcher/issues/396
242-
```
243-
244-
[angular-commit-guidelines]: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit
24586
[semver]: http://semver.org

0 commit comments

Comments
 (0)