Comments (5)
Lets see what the repo owner/maintainers say.
from conventionalcommits.org.
Another example of something that would be well-served by #537 .
from conventionalcommits.org.
I don't think it's a common-enough use-case to go into the core spec, but some projects have good reason to make the distinction between fixes-that-can-wait and fixes-that-need-to-go-in-now. So I can see at least two good reasons to have a hotfix
change type distinct from a fix
type:
-
A
hotfix
change type with semantics like "bypass the normal pipeline (for example, any/all of: don't do the full slow testing; don't reject if the linter complains; fire off the release pipeline; exclude all non-hotfix changes merged since last release)". -
A
hotfix
change type with semantics like "this is likefix
, but it is retroactively going into the most recent version, not into the next version (so tooling which automatically increments the version should treat it differently)".- I've worked with teams who don't like releasing hotfixes as new versions. You release 1.2.0, discover a bug, roll out a hotfix. A machine labels that 1.2.1 without a second thought. A human versed in office politics and image games thinks 1.2.1 might look bad and prefers to re-release as 1.2.0.
from conventionalcommits.org.
For me, a hotfix only ever increments the patch version, based on gitflow.
I think it's used by enough software developers/teams that it would be a great fit inthe core spec
from conventionalcommits.org.
a hotfix only ever increments the patch version, based on gitflow.
Right, which means you at most want the 1st semantic I mentioned, and never the 2nd. That makes it more like a fix
, and many teams would be happy to just use fix
for that.
If I was designing a CCRFI for this, I'd make the 2nd semantic optional. For example, I might propose that tools by default treat hotfix
as bumping the version just like fix
does, but also implement a flag or environment variable which flips on "hotfix does not bump version" behavior.
Re: core spec fit: I agree that hotfixes are a very common distinction for teams to make in their commits, and if Conventional Commits was a "thicker" spec, I'd agree that hotfix
should be in it! But looking at all the context clues, I infer that Conventional Commits is intended to be the smallest-viable-foundation for two goals: a parseable commit format, and mapping commits to SemVer semantics. The core only defines feat
and fix
change types, actively encourages extensions, and has never merged any of the community suggestions for other change types into core.
from conventionalcommits.org.
Related Issues (20)
- e62041900a74d076e1462f7a3e900eb5d7a513e2 HOT 2
- Sign up
- How to configre conventional-changelog-conventionalcommits 7? HOT 1
- `feat` is contracted, most other commonly used tags are full words. HOT 9
- 6_make test.txt
- fix: navigation bar is not responsive on smaller devices HOT 1
- Delete the .idea folder HOT 1
- Decoupling from specific versioning formats (i.e. SemVer) HOT 1
- what is the recommended way to handle deprecations? HOT 2
- Request for Arabic Language Support
- How do I choose a right commit type for adding media content?
- Specification doesn't permit footers without a body HOT 2
- Support Hindi Language HOT 1
- Add clarification for description formatting
- Scheme for documentation
- Should there be (a11y) commit type? How do you address accessibility UI related changes? HOT 1
- GPG key not found HOT 2
- Bad certificate on www.conventionalcommits.org HOT 10
- Ambiguity over footer issue references
- Do we need special types for GitOps commits ?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conventionalcommits.org.