git was soll man beim kommentar beim commit schreiben

OP (Firma: ZATT) #6999629
Lesenswert?

git was soll man beim Kommentar beim commit schreiben.
Das was man da gerade gemacht hat, den aktuellen Stand oder was als 
nächstes gemacht werden soll?

Für mich ist es immer praktisch zu wissen was der aktuelle Stand ist.
Aber gibt es da andere Vorgehensweisen?
Gast #6999658
Lesenswert?

Zitty Z. schrieb:
> aber warum?

Weil es viel einfacher zu lesen ist, wenn man sich den Commit nachher 
anschaut.
Man liest den Kommentar "change x to y" und dann sieht man das diff, in 
dem x nach y geändert wird.
Es gibt gar keinen Grund hier überhaupt einen zeitlichen Bezug 
(Vergangenheit oder Zukunft) zu haben.
Gast #6999660
Lesenswert?

Zitty Z. schrieb:
> aber warum?
> es ist doch schon passiert xD

Wenn Du nach vorne und aus Deiner eigenen Perspektive blickst, ja.

Aber in einem Team zieht sich ja bspw. ein anderer Entwickler einen 
neuen Stand aus git. Und dann liest es sich besser.

Und manchmal dreht man ja auch Versionsstände zurück und wieder vor.
Auch da ist diese Schreibweise manchmal vorteilhaft. Ist ja eh schon oft 
genug Gehirnakrobatik...

Aber wenn man die Versionierung vorwiegend für sich alleine nutzt, ist 
es eigentlich egal.
Gast #6999664
Lesenswert?

Zitty Z. schrieb:
> Für mich ist es immer praktisch zu wissen was der aktuelle Stand ist.

Da sollte offensichtlich sein, warum man das nicht macht:
Es skaliert nicht.

Oder was ist "der aktuelle Stand" des Linux Kernels, wenn man in einem 
USB-Treiber etwas ändert?

Der aktuelle Stand ist die Summe aller Commits in einem 
zusammenhängenden Weg zu einer Wurzel.
OP (Firma: ZATT) #6999665
Lesenswert?

A. S. schrieb:
> was will die Person wissen?

naja man will doch wissen was das für ne Datei ist, die man da 
hochgeladen hat.

commit 2312 : foo hinzugefügt

und wenn da stehen würde: "foo hinzufügen" , dann denkt man dass man das 
noch hinzufügen soll xD

IchNicht schrieb:
> Aber in einem Team zieht sich ja bspw. ein anderer Entwickler einen
> neuen Stand aus git. Und dann liest es sich besser.

ok das kenne ich noch nicht. Vlt. kapiert man das dann einfach.
Gast #6999670
Lesenswert?

Zitty Z. schrieb:
> und wenn da stehen würde: "foo hinzufügen" , dann denkt man dass man das
> noch hinzufügen soll xD

Nein.
Commit-Logs sind keine TODO-Liste.
Commit-Logs beschreiben, was ein commit macht. Nicht, was er gemacht 
hat. Denn du weißt gar nicht, ob der Leser der Nachricht diesen Commit 
bereits hat (= gemacht hat) oder nicht. Es ist unnötig einen zeitlichen 
Bezug zu haben. Der verwirrt nur.
Gast #6999688
Lesenswert?

Hannes J. schrieb:
> RuckZuckFresseDick schrieb:

>> "according requirement item zyx"
>> "see change request xyz"
>
> Alles klar. Dann sogar noch lieber
>
>  git commit --allow-empty -m ""

Ein Verweis auf das zugrundeliegende Änderungsdokument, oder Requiremnt 
ist aber alles andere als eine leere/empty Message.

Wahrscheinlich haste übersehen das [xyz] als Platzhalter für einen Link 
zu verstehen ist. Natürlich kann man hier auch das Referenzierte in 
eigenen Worten wiederholen - das ist aber wie jede Redundanz verwirrend 
und fehlerträchtig.
Beitrag #6999702 wurde von einem Moderator gelöscht.
Gast #6999706
Lesenswert?

Zitty Z. schrieb:
> MaWin schrieb:
>> Und zwar im Imperativ.
>
> aber warum?
> es ist doch schon passiert xD

Weil die geläufige Konvention bei git eben ist zu sagen was der Commit 
machen soll, wenn man ihn z. B in seinen Code merged oder cherry-picked. 
Und eben nicht was der Entwickler gemacht hat.

Von der "klassischen" Konvention geht die Welt sicher auch nicht unter, 
aber das Team sollte sich halt einig sein.
Beitrag #6999708 wurde von einem Moderator gelöscht.
Gast #6999729
Lesenswert?

> Zum Beispiel: cgit.freebsd.org ...

Wow. Ich hätte Open Source Entwickler werden sollen. Bei der Software, 
an der ich jetzt weiter murksen soll, stehen im Kommentar nur 2-3 
verwirrende Worte. Manchmal eine Ticketnummer, über sich herausfinden 
lässt, was die Kundebetreuerin in Auftrag gegeben hatte.

Wenn du als Entwickler überhaupt nachdenkst, was da drin stehen muss, 
sind deine Kommentare absolut vorbildlich einwandfrei.
Gast #6999743
Lesenswert?

A. S. schrieb:
> Wie immer ist die Frage bei Dokumentation:
>
> Für wen schreibst du sie und was will die Person wissen?

Ein Fall der mir immer mal wieder begegnet: von Benutzern/Tester wurde 
ein Fehler gemeldet, ist als Ticket/Issue Nr.xYz eingetragen. Dessen 
Ausmerzung umfass Änderungen an mehreren Dateien, durchaus auch über 
mehrere Commits, im Abstand von mehreren Tagen..

Wie findet man später alles was dazugehört wieder?
Bloss übers Datum greift zu kurz.
Also: Ticket Nr.xYz im Commit-Kommentar nennen (gerne auch als deep-URL, 
falls das nicht automagisch geschieht)

Ist analog zu "Anforderung Nr.aBc" usw.
Gast #6999763
Lesenswert?

> Also: Ticket Nr.xYz im Commit-Kommentar nennen

Damit lässt sich zumindest schon mal heraus finden, warum das Programm 
so einen hirnverbrannten Unfug macht.

Was immer fehlt - die Dokumentation, warum die Entwickler diese Lösung 
gewählt haben.

Wussten die nicht, dass es eine einfache Lösung gibt? Funktioniert diese 
einfache Lösung nicht? Hatten die keine Zeit für ein sauberes Konzept? 
...
Gast #6999802
Lesenswert?

Wow! schrieb:
>> Zum Beispiel: cgit.freebsd.org ...
>
> Wow. Ich hätte Open Source Entwickler werden sollen. Bei der Software,
> an der ich jetzt weiter murksen soll, stehen im Kommentar nur 2-3
> verwirrende Worte. Manchmal eine Ticketnummer, über sich herausfinden
> lässt, was die Kundebetreuerin in Auftrag gegeben hatte.
>
> Wenn du als Entwickler überhaupt nachdenkst, was da drin stehen muss,
> sind deine Kommentare absolut vorbildlich einwandfrei.

Ja. Im (kommerziellen) Berufsumfeld wollen zwar alle "intelligente 
tools", gerne mit KI gewürzt. Will aber ein Entwickler genau sowas 
einführen, resp. solche tools miteinander integrieren erfordert das je 
nach "legacy"/Alter Kruscht soundsoviele Stunden Arbeit; weil diese 
nicht am Produkt selbst ist, gilt sie als "unproduktiv" (kann nicht 
einfach auf die morgige Kundenrechnung draufgeschlagen und kassiert 
werden) und wird nur selten genehmigt oder braucht unverhaeltnismaessig 
viel Lobbyaufwand damit man sowas "darf".
OpenSource-Projekte sind da viel offener und haben bessere chancen auf 
solche "best practices" drumherum.

Schau dir alleine an wie gerade dieses FreeBSD "alt" ist, das kann man 
heute durchaus als Legacy bezeichnen. Damals konnten viele Firmen 
nichtmal "Versionierungssystem" buchstabieren, geschweige denn die 
Notwendigkeit dafür einsehen.

Es ist mühsam die Arbeitskultur uneinsichtiger Arbeitskollegen positiv 
umzukrempeln. Noch mühsamer bei Arbeits"kollegen" auf höherer 
Hierarchiestufen denn die fordern zwar Top-Engagement , bremsen aber 
umsomehr bei dafür notwendigen Top-Tools/-Methoden...
BTDT.
#6999812
Lesenswert?

Was als Kommentar sinnvoll ist, hängt von der restlichen Umgebung ab.

Wenn die Kommentare in der Versionsverwaltung die ganze Doku sind, 
gehört primär in lesbarer Form das rein, was trockener im zugehörigen 
diff dieses Commits steckt.
Also grob was + warum.

Wenn man es aber ernsthafter macht, wird es irgendwo ein Trackingsystem 
geben.
Da stehen letztlich Aufgaben drin (seien es zu entwickelnde features 
oder zu lösende Probleme), jedes als einzelnes issue oder Ticket oder 
wie auch immer man es nennt mit einem kurzen Titel und einer eindeutigen 
Nummer.

Dann ist im Kommentar zum Commit das wichtigste, den Bezug zum 
Trackingsystem herzustellen (falls das issue mit seiner Nummer nicht 
ohnehin zwangsweise beim Einchecken angegeben werden muß, wie bei uns in 
den wichtigen Projekten).
Dann würde ich als Kommentar die Kurzbeschreibung und die Id aus dem 
Trackingsystem nehmen.
Wenn das zu nüchtern ist und nicht viel aussagt, dann zusätzlich noch 
ein knapper Text.

Egregio Commendatore schrieb:
> Ein Fall der mir immer mal wieder begegnet: von Benutzern/Tester wurde
> ein Fehler gemeldet, ist als Ticket/Issue Nr.xYz eingetragen. Dessen
> Ausmerzung umfass Änderungen an mehreren Dateien, durchaus auch über
> mehrere Commits, im Abstand von mehreren Tagen..
>
> Wie findet man später alles was dazugehört wieder?
> Bloss übers Datum greift zu kurz.
> Also: Ticket Nr.xYz im Commit-Kommentar nennen (gerne auch als deep-URL,
> falls das nicht automagisch geschieht)

Zumindest bei uns ist es so (und wohl auch üblich), daß der eingecheckte 
Code immer komplett, kompilierbar und lauffähig sein muß.
Ein neues Feature oder ein größerer Fix wird bis zur Fertigstellung 
lokal gehalten, oder "geshelved", oder in einem eigenen privaten Branch 
gehalten, und fließt erst zum Schluß ein für die Öffentlichkeit 
sichtbar, wenn er funktioniert und nichts anderes behindert.
Damit ist es im Idealfall letztlich ein commit im Hauptzweig.

Wenn mehrere Hundert Entwickler dauernd halbgare Sachen speichern und 
kleckerweise nachbessern, würde es nie einen Stand geben, der auch mal 
kompilierbar ist.

(Das wurde in der Vergangenheit nicht so eng gesehen. Da musste dann für 
jeden gelieferten Zwischenstand ein kleiner Branch gemacht werden, in 
den nur noch Fixes einflossen, die aber auch in den Hauptzweig 
dupliziert werden mussten. Weil solche Zwischenlieferungen aber 
wöchentlich in Dutzenden Varianten vorkamen, war der Aufwand unnötig 
hoch. Jetzt ist immer der Hautpzweig zumindest im Groben benutzbar, und 
nur noch für wichtige Lieferstände wird ein Branch gezogen, in dem dann 
nur noch gefixt wird.)

Natürlich kommt es auch mal vor, daß ein Commit nicht der Weisheit 
letzter Schluß ist. Dann gibt es für einen Fix halt nochmal ein Commit, 
dessen Kommentar sich dann klar auf den ursprünglichen bezieht und 
entweder wieder dessen Kennung aus dem Trackingsystem hat, oder es gibt 
dort schon einen neuen Eintrag für den nötigen Fix, wenn alles korrekt 
läuft.

Aber der Regelfall ist bei uns: eine komplette Änderung = ein Commit.
Gast #6999826
Lesenswert?

Klaus W. schrieb:
> Aber der Regelfall ist bei uns: eine komplette Änderung = ein Commit.

Aber eine Änderung ist erst dann komplett wenn die Testabteilung ihren 
Segen gegegeben hat.

Und die Testabteilung nimmt ihre zu testenden Images nicht über den 
kurzen Dienstweg (email-anhang) sondern auch aus dem Git. Somit hat man 
zwangsläufig den Fall das man ungetestet und damit unfertige Versionen 
comitten muß. Somit kann 'das Paradies: eine Änderung, ein Commit' nie 
auftreten.
#6999842
Lesenswert?

RuckZuckFresseDick schrieb:
> Aber eine Änderung ist erst dann komplett wenn die Testabteilung ihren
> Segen gegegeben hat.

Es ist bei uns in der Tat noch etwas komplizierter:
Nachdem der Entwickler seine Änderungen fertig hat, geht es erstmal in 
ein Review. Dabei ist es noch nicht in den Hauptzweig eingecheckt.
Erst nach dieser Freigabe wird ein automatisches Commit ausgelöst, das 
dann aber auch noch nicht sichtbar wird. Es wird im Verborgenen ein 
eigener Branch angelegt, in dem diese Änderungen in den aktuellen 
Hauptzweig (bzw. letztlich eine Kopie davon) gemerged werden. Dieser 
Zweig wird in allen nötigen Varianten gebaut, codechecker angeworfen und 
ggf. automatisierte Tests darauf losgelassen.
Je nach Ergebnis geht es dann zurück an den Entwickler, oder es wird 
tatsächlich (automatisch) eingecheckt; erst dann ist es für die anderen 
als Änderung sichtbar.

Manuelle Tests und in den Fahrzeugen kommen dann aber erst danach, 
insofern gibt es noch die Chance nachbessern zu müssen.
Für sowas gibt es von allen Varianten zumindest wöchentliche Teststände, 
die als Gesamtsystem getestet werden.

Endgültige Lieferungen gehen wie gesagt in Branches, die dann intensiver 
getestet werden, aber dafür keine Alltagsänderungen mehr bekommen.
Moderator Persönliche Seite #6999851
Lesenswert?

Wow! schrieb:
>> Zum Beispiel: cgit.freebsd.org ...
>
> Wow. Ich hätte Open Source Entwickler werden sollen.

:-)

Sind halt Leute, die das "for fun" machen.

Gibt auch 'ne Policy. Kann sich der TE ja mal ansehen für Anregungen:

https://freebsdfoundation.org/wp-content/uploads/2020/11/Writing-Commit-Messages.pdf

Ich glaube, es gab schon mal eine seitenlange commit message für eine 
einzige geänderte Codezeile – weil eben die Änderung als solche 
keineswegs so offensichtlich war.
Gast #6999858
Lesenswert?

Jörg W. schrieb:
> Ich glaube, es gab schon mal eine seitenlange commit message für eine
> einzige geänderte Codezeile – weil eben die Änderung als solche
> keineswegs so offensichtlich war.

Das nennt man Missbrauch der commit-Funktion weil zu faul dedizierte 
Fall-Doku zu schreiben und dem Commit als Datei mitzugeben.

Mindestens hätte man der Codezeile ein par Comment-zeilen zur Seite 
stellen sollen, damit derjenige, der nur den Code aber nicht die 
CommitPsalmodirerei zum Review vorliegen hat, auch seine Chance auf 
Verständnis bekommt ...
Gast #6999884
Lesenswert?

Jörg W. schrieb:
> RuckZuckFresseDick schrieb:
>> Das nennt man Missbrauch der commit-Funktion
>
> Klar, weil du dich so genau auskennst, was da genau passiert ist und wie
> der Code tatsächlich aussieht, kannst du das auch beurteilen.

Ich kann sehr wohl beurteilen, das die Anzahl der Leser des 
Commit-Kommentars sehr viel kleiner ist als die Anzahl derer die den 
Inhalt des besagten Kommentars nötig hätten.

Ich mein, es ist richtig Doku und Erläuterung zu schreiben und es ist 
falsch diese Doku in den Papierkorb zu werfen. Und die commit-mesage ist 
nun mal das was einem Papierkorb am nächsten kommt, weil sie von den 
wenigsten Beteiligten gelesen wird. Oder gelesen werden kann... denn in 
einem source tar ball ist der commit-kommentare meist nicht enthalten.
Moderator Persönliche Seite #6999892
Lesenswert?

RuckZuckFresseDick schrieb:
> Ich kann sehr wohl beurteilen,

Nein, diese Fähigkeit spreche ich dir ab, da du absolut keine Ahnung 
hast, was an dieser Stelle tatsächlich passiert ist und wie das im 
Sourcecode dokumentiert ist. Du darfst aber dessen gewiss sein, dass 
FreeBSD ein in vielerlei Hinsicht sehr pingelig arbeitendes Projekt ist. 
Undokumentierten Code bekommst du da nicht durch.

(Ich kann mich leider auch an zu wenige Details erinnern, um das jetzt 
nach so vielen Jahren wieder ausgraben zu können.)
Gast #6999907
Lesenswert?

Jörg W. schrieb:
> RuckZuckFresseDick schrieb:
>> Ich kann sehr wohl beurteilen,
>
> Nein, diese Fähigkeit spreche ich dir ab, da du absolut keine Ahnung
> hast, was an dieser Stelle tatsächlich passiert ist und wie das im
> Sourcecode dokumentiert ist.

Ich kann natürlich nursoviel Ahnung haben wie  dein zitierter beitrag 
zuläßt. Und da steht viele commitzeile für eine einzige Code-zeile.

Aber egal um wieviele LoC es geht, der Commitkommentar ist der falsche 
Ort für die Code-Doku - auch wenn das ein selbstgefälliger Moderator das 
kindischwerweise anders sieht.
Gast #7000121
Lesenswert?

Jörg W. schrieb:
> Das ist es auch nicht, und dein Irrtum wird nicht besser, wenn du jetzt
> anfängst, in die Schimpfwortkiste zu greifen.

Du kannst auch gleich noch mit dem Fuß aufstampfen, denn Dein Verhalten 
ist kein Deut besser. Aber egal, mein Posting wird eh gleich von Dir 
gelöscht.
#7000143
Lesenswert?

MaWin schrieb:
> Ist nicht notwendig, denn Jörg hat recht.

Ich bin mir nicht sicher, auch ich kenne den Code nicht. Aber ich hätte 
vermutlich den langen Text (commit Kommentar) in den Quelltext zur 
Änderung geschrieben und im commit Kommentar darauf deutlich 
hingewiesen.
Ich fürchte auch, ein zu langer commit Kommentar wird nicht gelesen.

Aber am wichtigsten ist erstmal, dass es überhaupt einen sinnvollen und 
hilfreichen Kommentar gibt. Das ist längst nicht immer gegeben.
Gast #7000153
Lesenswert?

900ss D. schrieb:
> Aber ich hätte
> vermutlich den langen Text (commit Kommentar) in den Quelltext zur
> Änderung geschrieben und im commit Kommentar darauf deutlich
> hingewiesen.

Also erstens ist das keine lange Commitmessage.
Im OpenSource-Umfeld sind die Commitmessages in der Regel deutlich 
länger.

Zweitens beschreibt die Commitmessage im Beispiel - so wie es auch sein 
soll - zu 90% die Änderung, und nicht den geänderten Code.
Das ist ein Unterschied. Und das ist genau, wie es gedacht ist. Es wird 
nicht beschrieben, was der Code macht, sondern warum er geändert wird.

Und drittens fügt die Änderung einen Kommentar hinzu, der den Code 
genauer beschreibt.
Es bleibt keine Codebeschreibung in der Commitmessage übrig, die nicht 
auch im Code beschrieben wäre.
Gast #7000155
Lesenswert?

Jörg W. schrieb:
> RuckZuckFresseDick schrieb:
>> ist der falsche Ort für die Code-Doku
>
> Das ist es auch nicht, und dein Irrtum wird nicht besser, wenn du jetzt
> anfängst, in die Schimpfwortkiste zu greifen.

Oh, da entschuldige ich mich gleich, falls 'Moderator', 'selbstgefällig' 
und/oder 'kindisch' als Schimpfworte angesehen werden. Das ist 
keinesfalls als Beschimpfung gedacht, höchstens als eindringlich 
vorgetragenen Aufforderung nochmals das bisher Gesagte zu überdenken.

Ich seh da wirklich Diskussionsbedarf hinichtlich der Frage, ob ein 
commit-Kommentar wirklich der richtige Platz für eine Dokumentierenden 
Textpassage ist.  Insbesonders unter dem Aspekt der 'Sichtbarkeit', eben 
das Commit-Kommentare nicht Bestandteil des Softwarepaketes sind, die 
dann verteilt werden.  Nur der Depot-Verwalter sieht/braucht  diesen 
Commit.

Wenn man genötigt wird, Commit-Kommentare durchzusehen um die 
Funktionalität des Codes nachzuvollziehen, dann erinnerst das an den 
Hitchhiker Guide to the Galaxy" bei der sich ein Protagonist auch 
darüber beschwert, das Die Abrisspläne für sein Grundstück in einen 
finsteren schwer zugänglichen Keller 'ausgehangen waren'.

Ein commit Kommentar ist lediglich ein kurzer Hinweis was darin geändert 
wurde, aber keine Rechtfertigung desselben. Dehalb genügt ein Verweis 
auf den Änderungs- resp. Featurerequest/Spec..
Gast #7000160
Lesenswert?

RuckZuckFresseDick schrieb:
> ob ein
> commit-Kommentar wirklich der richtige Platz für eine Dokumentierenden
> Textpassage ist.

Was verstehst du unter "Dokumentierenden Textpassage"?
Wenn die Textpassage die Änderung dokumentiert, dann ist die 
Commitmessage genau der richtige Platz dafür.
Wenn die Textpassage den Code dokumentiert, dann ist die Commitmessage 
eventuell auch der richtige Platz dafür, wenn diese Textpassage 
zusätzlich zum Beispiel auch noch sinngemäß in der Doku oder im 
Kommentar auftaucht.

> Wenn man genötigt wird, Commit-Kommentare durchzusehen um die
> Funktionalität des Codes nachzuvollziehen

Niemand wird das.

> Ein commit Kommentar ist lediglich ein kurzer Hinweis was darin geändert
> wurde, aber keine Rechtfertigung desselben.

Eben doch. Die Rechtfertigung der Änderung ist der Hauptteil einer guten 
Commitmessage.
Gast #7000172
Lesenswert?

MaWin schrieb:
>> Wenn man genötigt wird, Commit-Kommentare durchzusehen um die
>> Funktionalität des Codes nachzuvollziehen
>
> Niemand wird das.
Doch, solange eben der Inhalt der commitmessage nicht irgendwo anders 
auftaucht. Deshalb die oben beschrieben Vorgehensweise, die seitenlange 
Begründung nicht in die commit-message zu packen sondern in die Doku die 
in dem comitteten Pakt beigefügt ist ...
aber vielleicht liegt ja genau hier der Denkfehler, zu glauben das nur 
source comittet wird und nicht gleichzeitig die Doku (ins doc-directory 
oder als source commentar.

dann hätte auch doxygen eine Chance diese zu finden ... als 
commit-message wäre das auch für doxygen verloren.

>> Ein commit Kommentar ist lediglich ein kurzer Hinweis was darin geändert
>> wurde, aber keine Rechtfertigung desselben.
>
> Eben doch. Die Rechtfertigung der Änderung ist der Hauptteil einer guten
> Commitmessage.
nein die commitmessage ist lediglich der verweis auf den Request der zu 
der Änderung geführt hat. Kein Start von Änderungsarbeiten ohne 
(triftigen) Anlaß- 'Rechtfertigung' klingt doch stark nach - ich hatte 
mal Langeweile und hab am Code rumgekritzelt und mir nachträglich ne 
Begründung einfallen lassen ...
Gast #7000178
Lesenswert?

MaWin O. schrieb:
> Wie dem auch sei. Eine seitenlange Commitmessage kann völlig in Ordnung
> sein, wenn sie die Änderung (nicht den Code) beschreibt.
> Falls sie den Code beschreibt, sollte diese Beschreibung
> selbstverständlich auch noch irgendwo anders existieren.

Wieso diese doppelte Existenz?

Die Änderung wir einmal beschrieben und diese Beschreibung wird als file 
oder eben fileänderung dem Commit beigefügt. Damit Fertig und 
nachvollziehbar bis in alle Ewigkeit.
Moderator Persönliche Seite #7000185
Lesenswert?

RuckZuckFresseDick schrieb:
> nein die commitmessage ist lediglich der verweis auf den Request der zu
> der Änderung geführt hat.

Im Opensource-Umfeld gibt es nicht für jedes und alles ein Ticket. Da 
können Fehler schon auch mal in eigenen Stresstests auftauchen oder in 
Mails oder Chats zwischen den Entwicklern geäußert werden. Dann ist die 
Commitmessage sehr wohl ein Platz dafür zu dokumentieren, dass damit 
beispielsweise ein vormaliges Fehlverhalten korrigiert worden ist.

Im kommerziellen Umfeld sieht das (je nach Umgebung) natürlich anders 
aus.
#7000190
Lesenswert?

RuckZuckFresseDick schrieb:
> Wieso diese doppelte Existenz?

Weil es die Commitmessage selbsterklärend macht.
Ein Link auf irgendein Dokument ist nicht selbsterklärend.

Und ja, selbsterklärende Commitmessages sind wichtig. Insbesondere bei 
dezentraler Entwicklung. (Was ja heute der Standard sein sollte).
Niemand hat Lust Anforderungsdokumente zu wälzen, nur um zu entscheiden, 
ob er einen Commit mergen soll.

> Damit Fertig und nachvollziehbar bis in alle Ewigkeit.

Was sich ja nicht von der OpenSource-Vorgehensweise unterscheidet.
#7000257
Lesenswert?

Jörg W. schrieb:
> Im Opensource-Umfeld gibt es nicht für jedes und alles ein Ticket. Da
> können Fehler schon auch mal in eigenen Stresstests auftauchen oder in
> Mails oder Chats zwischen den Entwicklern geäußert werden. Dann ist die
> Commitmessage sehr wohl ein Platz dafür zu dokumentieren, dass damit
> beispielsweise ein vormaliges Fehlverhalten korrigiert worden ist.
> Im kommerziellen Umfeld sieht das (je nach Umgebung) natürlich anders
> aus.

Hmmm... bei "uns" im kommerziellen Umfeld gibt es diese Situationen 
auch, dass beim Test noch andere Bugs zu Tage kommen. Ich glaube das ist 
eine normale Situation die sich nicht an open source festmachen lässt.
Das wurde dann im selben Ticket gefixt und dieses Ticket dann um den 
neuen Bug ergänzt und entsprechende Beschreibung natürlich. Damit konnte 
dann die commit Message kurz gehalten werden.

Das blöde ist, dass man diesen Bug schwierig wieder findet im 
Ticketsystem. Wenn es sauber sein soll müsste man ein weiteres Ticket 
aufmachen.

Aber genauso schwierig wird das "Finden" wohl, wenn es dann in der 
commit Message beschrieben wird. Eine Sondersituation halt.
Am wichtigsten ist halt, dass es überhaupt irgendwo festgehalten wird.
#7000263
Lesenswert?

900ss D. schrieb:
> Aber genauso schwierig wird das "Finden" wohl, wenn es dann in der
> commit Message beschrieben wird.

Warum soll das schwierig sein?
Das commit, welches die fehlerhafte Codezeile ändert, hat auch gleich 
die Beschreibung mit dabei. Leichter auffindbar gehts kaum. Warum sollte 
es einfacher sein, wenn ich statt der Message einen Link auf ein 
externes Dokument mache?
Gast #7000363
Lesenswert?

MaWin schrieb:
> Gastbeiträge werden hier im Forum ja mittlerweile von der Anzahl her
> begrenzt.

Die Beschränkung gibt es schon etwas länger. Wenn jetzt schon Freitag 
wäre, würden wir jetzt die Länge der Leitung in Lichjahren ausrechnen.
Zwölve in einer Stunde zu posten, geht durchaus problemlos. Ist alles 
nur eine Frage des Wissens, wie so was geht.
Gast #7001312
Lesenswert?

@TO
Mich würde mal interessieren welche Antwort du aus diesem 
Beitragsgefecht gewonnen hast. Also, wie Du nun gedenkst commit-Messages 
zu verfassen (oder auch nicht).

Vielleicht kannst Du dir ja mal diese Minute für ne Antwort Zeit nehmen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren