You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/faq.md
+22-24Lines changed: 22 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,16 @@
1
-
## Features we won't add
1
+
This page contains frequently asked questions about Commitizen.
2
2
3
-
For a comprehensive list of features that have been considered but won't be implemented, please refer to our [issue tracker](https://github.com/commitizen-tools/commitizen/issues?q=is:issue%20state:closed%20label:%22issue-status:%20wont-fix%22%20OR%20label:%22issue-status:%20wont-implement%22).
3
+
## Support for [`PEP621`](https://peps.python.org/pep-0621/)
4
4
5
-
- Enable multiple locations of config file `.cz.*`[#955](https://github.com/commitizen-tools/commitizen/issues/955)
6
-
- Create a flag to build the changelog from commits in multiple git repositories [#790](https://github.com/commitizen-tools/commitizen/issues/790)
7
-
- Global Configuration [#597](https://github.com/commitizen-tools/commitizen/issues/597)
8
-
9
-
## Support for PEP621
10
-
11
-
PEP621 establishes a `[project]` definition inside `pyproject.toml`
5
+
`PEP621` establishes a `[project]` definition inside `pyproject.toml`
12
6
13
7
```toml
14
8
[project]
15
9
name = "spam"
16
10
version = "2.5.1"
17
11
```
18
12
19
-
Commitizen provides a [`pep621`version provider](config.md#version-providers) to get and set version from this field.
13
+
Commitizen provides a `PEP621`[version provider](config.md#version-providers) to get and set version from this field.
20
14
You just need to set the proper `version_provider` setting:
21
15
22
16
```toml
@@ -28,12 +22,14 @@ version = "2.5.1"
28
22
version_provider = "pep621"
29
23
```
30
24
31
-
## Why are `revert` and `chore` valid types in the check pattern of cz conventional_commits but not types we can select?
25
+
## Why are `revert` and `chore` valid types in the check pattern of `cz_conventional_commits` but not types we can select?
32
26
33
-
`revert` and `chore` are added to the "pattern" in `cz check` in order to prevent backward errors, but officially they are not part of conventional commits, we are using the latest [types from Angular](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type) (they used to but were removed).
34
-
However, you can create a customized `cz` with those extra types. (See [Customization](customization.md)).
27
+
`revert` and `chore` are added to `pattern` in `cz check` in order to prevent backward errors, but officially they are not part of conventional commits, we are using the latest [types from Angular](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type) (they used to but were removed).
28
+
However, you can create a customized `cz` with those extra types. See [Customization](customization.md) for more details.
35
29
36
-
See more discussion in issue [#142](https://github.com/commitizen-tools/commitizen/issues/142) and [#36](https://github.com/commitizen-tools/commitizen/issues/36)
This will remove the last tag created, plus the commit containing the update to `.cz.toml` and the changelog generated for the version.
49
45
50
-
In case the commit was pushed to the server you can remove it by running
46
+
In case the commit was pushed to the server, you can remove it by running:
51
47
52
48
```sh
53
49
git push --delete origin <created_tag>
54
50
```
55
51
56
-
## Is this project affiliated with the Commitizen JS project?
52
+
## Is this project affiliated with the [Commitizen JS][cz-js] project?
57
53
58
-
It is not affiliated.
54
+
**It is not affiliated.**
59
55
60
56
Both are used for similar purposes, parsing commits, generating changelog and version we presume.
61
57
This one is written in python to make integration easier for python projects and the other serves the JS packages.
62
58
63
-
They differ a bit in design, not sure if cz-js does any of this, but these are some things you can do with this repo (python's commitizen):
59
+
<!-- TODO: Add more details about the differences between Commitizen and Commitizen JS -->
64
60
65
-
- create custom rules, version bumps and changelog generation, by default we use the popular conventional commits (I think cz-js allows this).
66
-
- single package, install one thing and it will work (cz-js is a monorepo, but you have to install different dependencies AFAIK)
61
+
They differ a bit in design, not sure if cz-js does any of this, but these are some things you can do with our Commitizen:
62
+
63
+
- create custom rules, version bumps and changelog generation. By default, we use the popular conventional commits (I think cz-js allows this).
64
+
- single package, install one thing and it will work. cz-js is a monorepo, but you have to install different dependencies as far as I know.
67
65
- pre-commit integration
68
66
- works on any language project, as long as you create the `.cz.toml` or `cz.toml` file.
69
67
@@ -73,16 +71,14 @@ If you are using conventional commits in your git history, then you could swap o
73
71
74
72
Regarding the name, [cz-js][cz-js] came first, they used the word Commitizen first. When this project was created originally, the creator read "be a good commitizen", and thought it was just a cool word that made sense, and this would be a package that helps you be a good "commit citizen".
75
73
76
-
[cz-js]: https://github.com/commitizen/cz-cli
77
-
78
74
## How to handle revert commits?
79
75
80
76
```sh
81
77
git revert --no-commit <SHA>
82
78
git commit -m "revert: foo bar"
83
79
```
84
80
85
-
## Why don't we use Pydantic?
81
+
## Why don't we use [Pydantic](https://docs.pydantic.dev/)?
86
82
87
83
While Pydantic is a powerful and popular library for data validation, we intentionally avoid using it in this project to keep our dependency tree minimal and maintainable.
88
84
@@ -98,7 +94,7 @@ In short, avoiding Pydantic helps us:
98
94
99
95
## I got `Exception [WinError 995] The I/O operation ...` error
100
96
101
-
This error was caused by a Python bug on Windows. It's been fixed by [this PR](https://github.com/python/cpython/pull/22017), and according to Python's changelog, [3.8.6rc1](https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-6-release-candidate-1) and [3.9.0rc2](https://docs.python.org/3.9/whatsnew/changelog.html#python-3-9-0-release-candidate-2) should be the accurate versions first contain this fix. In conclusion, upgrade your Python version might solve this issue.
97
+
This error was caused by a Python bug on Windows. It's been fixed by [cpython #22017](https://github.com/python/cpython/pull/22017), and according to Python's changelog, [3.8.6rc1](https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-6-release-candidate-1) and [3.9.0rc2](https://docs.python.org/3.9/whatsnew/changelog.html#python-3-9-0-release-candidate-2) should be the accurate versions first contain this fix. In conclusion, upgrade your Python version might solve this issue.
102
98
103
99
More discussion can be found in issue [#318](https://github.com/commitizen-tools/commitizen/issues/318).
This page contains features that have been proposed or considered but won't be implemented in Commitizen.
2
+
3
+
For a comprehensive list, please refer to our [issue tracker](https://github.com/commitizen-tools/commitizen/issues?q=is:issue%20state:closed%20label:%22issue-status:%20wont-fix%22%20OR%20label:%22issue-status:%20wont-implement%22).
4
+
5
+
- Enable multiple locations of config file `.cz.*`[#955](https://github.com/commitizen-tools/commitizen/issues/955)
6
+
- Create a flag to build the changelog from commits in multiple git repositories [#790](https://github.com/commitizen-tools/commitizen/issues/790)
7
+
- Global Configuration [#597](https://github.com/commitizen-tools/commitizen/issues/597)
0 commit comments