2023-12-18 16:30:53 +00:00
|
|
|
# Git conventions
|
|
|
|
|
|
|
|
## Commit Messages
|
|
|
|
|
2024-01-16 01:23:23 +00:00
|
|
|
Commit messages should follow the guidelines in the [GNOME
|
|
|
|
handbook](https://handbook.gnome.org/development/commit-messages.html). We require an URL
|
2023-12-18 16:30:53 +00:00
|
|
|
to either an issue or a merge request in each commit. Try to always prefix
|
|
|
|
commit subjects with a relevant topic, such as `compositor:` or
|
|
|
|
`clutter/actor:`, and it's always better to write too much in the commit
|
|
|
|
message body than too little.
|
|
|
|
|
|
|
|
If a commit fixes an issue and that issue should be closed, add URL to it in
|
|
|
|
the bottom of the commit message and prefix with `Closes:`.
|
|
|
|
|
|
|
|
Do not add any `Part-of:` line, as that will be handled automatically when
|
|
|
|
merging.
|
|
|
|
|
|
|
|
### The Fixes tag
|
|
|
|
|
|
|
|
If a commit fixes a regression caused by a particular commit, it can be marked
|
|
|
|
with the `Fixes:` tag. To produce such a tag, use
|
|
|
|
|
|
|
|
```
|
2024-01-09 08:35:17 +00:00
|
|
|
git show -s --pretty='format:Fixes: %h ("%s")' <COMMIT>
|
2023-12-18 16:30:53 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
or create an alias
|
|
|
|
|
|
|
|
```
|
|
|
|
git config --global alias.fixes "show -s --pretty='format:Fixes: %h (\"%s\")'"
|
|
|
|
```
|
|
|
|
|
|
|
|
and then use
|
|
|
|
|
|
|
|
```
|
|
|
|
git fixes <COMMIT>
|
|
|
|
```
|
|
|
|
|
|
|
|
### Example
|
|
|
|
|
|
|
|
```
|
|
|
|
compositor: Also consider dark matter when calculating paint volume
|
|
|
|
|
|
|
|
Ignoring dark matter when calculating the paint volume missed the case where
|
|
|
|
compositing happens in complete vacuum.
|
|
|
|
|
|
|
|
Fixes: 123abc123ab ("compositor: Calculate paint volume ourselves")
|
|
|
|
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1234
|
|
|
|
```
|