Guidelines für JaCaVi Commit Messages
Allgemeines
Alle Commits werden in englischer Sprache dokumentiert.
Jeder Commit sollte mindestens einem Ticket zugeordnet werden können. (Im Zweifelsfall fehlt einfach ein Ticket.) Idealerweise beschränkt sich ein Commit auch auf genau ein Ticket. Dies kann jedoch nicht immer eingehalten werden.
Die Commit Messages sollten einen klaren Überblick über die durchgeführten Änderungen geben, ohne in die Quellen/Diffs? sehen zu müssen. Argumentationen warum die eine statt einer anderen Implementierung gewählt wurde, sollten eher als Comment dem zugehörigen Ticket angefügt werden. Generell gilt: so kurz wie möglich, so lang wie nötig.
Wird das folgende Format eingehalten, so wird der Kommentar automatisch in die referenzierten Tickets eingefügt.
Format
[<Ticket-Referenzen>] <Kurzzusammenfassung> <Ausführlichere Beschreibung>
Auf die Ticket-Referenzen geht der folgende Abschnitt genauer ein. Die Kurzzusammenfassung besteht idealerweise aus genau einem Satz.
Die zweite Zeile sollte wohl freigelassen werden. Ansonsten hat mir TortoiseSVN im Log (manchmal!) die Beschreibung mit der 'Vorschau' angezeigt.
Ticket-Referenzen
Sollte mindestens einen Verweis auf ein Ticket enthalten (in der Form #1).
Vorschläge:
- [Fix for ticket #1]
- [Partial fix for ticket #1]
- [Fix for ticket #1, partial fix for ticket #2]
- [In preparation of ticket #1]
- [Related to ticket #1]
Oder wenn es gar nicht anders geht (momentan wird nicht sichergestellt, dass mindestens ein Ticket referenziert wird):
- [Not related to any ticket]
Beispiel
[Fix for ticket #1, in preparation of #2] When a document or folder is deleted, links pointing to these documents are now removed. These deletions cause modifications of the respective documents and may therefore trigger packages to be marked as 'modified' other than the ones the documents/folders are deleted from. The convenience function findDocumentsLinkingTo() has been updated and now supports folders as well as documents as link targets. The message box shown when removing documents/folders has been updated to reflect the new behaviour (related to ticket #3).