Skip to content

Commit 9f0e326

Browse files
committed
docs: add Why not CalVer to FAQ
1 parent 2e243d4 commit 9f0e326

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

docs/faq.md

+25
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,28 @@ git commit -m "revert: foo bar"
8686
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.
8787

8888
More discussion can be found in issue [#318](https://github.com/commitizen-tools/commitizen/issues/318).
89+
90+
## Why does commitizen not support CalVer?
91+
92+
`commitizen` could support CalVer alongside SemVer, but in practice implementing CalVer
93+
creates numerous edge cases that are difficult to maintain (#385) and more generally
94+
mixing the two version schemes may not be a good idea. If CalVer or other custom
95+
versioning scheme is needed, `commitizen` could still be used to standardize commits
96+
and create changelogs, but a separate package should be used for version increments.
97+
98+
Mixing CalVer and SemVer is generally not recommended because each versioning scheme
99+
serves a different purposes. Diverging from either specification can be confusing to
100+
users and cause errors when third party tools that don't expect the non-standard format.
101+
102+
In the future, `commitizen` may support some implementation of CalVer, but at the time
103+
of writing, there are no plans to implement the feature (#173).
104+
105+
If you would like to learn more about both schemes, there are plenty of good resources:
106+
107+
- [Announcing CalVer](https://sedimental.org/calver.html)
108+
- [API Versioning from Stripe](https://stripe.com/blog/api-versioning)
109+
- [Discussion about pip's use of CalVer](https://github.com/pypa/pip/issues/5645#issuecomment-407192448)
110+
- [Git Version Numbering](https://code.erpenbeck.io/git/2021/12/16/git-version-numbering/)
111+
- [SemVer vs. CalVer and Why I Use Both](https://mikestaszel.com/2021/04/03/semver-vs-calver-and-why-i-use-both/) (but not at the same time)
112+
- [Semver Will Not Save You](https://hynek.me/articles/semver-will-not-save-you/)
113+
- [Why I Don't Like SemVer](https://snarky.ca/why-i-dont-like-semver/)

0 commit comments

Comments
 (0)