carloscuesta / gitmoji

An emoji guide for your commit messages. 😜
https://gitmoji.dev
MIT License
15.61k stars 799 forks source link

Dangerous commit (test, experiment, etc.) which might cause damage #962

Closed fbruetting closed 2 years ago

fbruetting commented 2 years ago

Hello @carloscuesta :sunglasses:!

I am currently programming an FPGA controller and have to alter the i/o voltages for testing purposes. When I connect my devices to the controller in that situation, this might destroy their input circuits. So I want to have a striking icon in the git log, in order that when I switch branches or view the log, I immediately recognize that this branch/commit is potentially dangerous and makes me remind/read that commit description and act appropriately with special care (and required environmental modifications).

This commit icon should also proof to be useful when someone for example deactivates security stuff for testing purposes or deactivates checksums which might corrupt a database/blockchain or especially testing on production code/data. So it should also indicate “testing” (like 🚧, 💩 and ⚗️) but in a way more drastic way, so that it really makes people handle with special care and review/check the whole setup before continuing. The application of this icon is more for separate testing branches or temporary commits in a rebase-workflow. The production code should not contain these sorts of commits (at most combined with an appropriate revert ⏪️ commit).

Other icons could be:

vhoyer commented 2 years ago

Can't this be covered by :boom: :boom: "Introduce breaking changes.", I know you said that the proposed emoji should be used only on testing branches, but what do @fbruetting think we gain by separating the two usages (when testing and when its for real)?

I don't think we gain much by separating them, if you are only testing the breaking changes, you could, as you said, use the :rewind: emoji afterwards as well.

And remember, as much as the gitmoji is a centralized convention, our recurrent suggestion for rejected emoji ideas is for the author to use them on their own private repository, a note on the README should suffice to warn other collaborators about being aware if they see a :skull_and_crossbones: on a commit they should pay extra attention to that commit.

fbruetting commented 2 years ago

Not „only for testing branches“ but this is how I use it. My thinking here is that :boom: :boom: means more major changes for end users, or compatibility issues due to for example altered interfaces, or you just introduce some other drastic regular changes which you don’t necessarily have to care about, because after the commit it should be consistent and just work. However, the purpose with this icon is more to highlight really dangerous stuff where you really have to check twice what you’re doing.

When you work on a project with some :boom: changes, you might think that well… a lot of things might have been changed there which you don’t necessarily have to care about because these are things of the past. But if you in contrast see :skull_and_crossbones:, you immediately get the feeling that something might not be alright there still. So people would handle with more care that they do with “just” :boom:. At least that is my impression. So on one side, you show a “dangeraus” tag, and on the other side, you also show a “the dangerousness still applies even if there are more commits following that :skull_and_crossbones: commit”.

I just thought that this may be a good idea for others as well, and there might establish a convention for something that holds serious danger. Otherwise one project might use :bomb: another uses :firecracker: and another one uses :biohazard:.

Otherwise maybe let’s just see the votes over time and then decide? Maybe someone else know further useful examples…

johannchopin commented 2 years ago

Thanks for the proposition @fbruetting 👍 However I support the thought of @vhoyer. Your use case is really specific but can be covered by 💥. I propose you to really describe in your README what a developer should do if he encounters such a gitmoji.