Frage

Mein Chef kündigte gestern eine neue Commit -Richtlinie für Checkins in das Repository an. Diese Richtlinien sind für Commits in Kopf/Koffer und Zweige gültig.
Eine Commit -Nachricht muss die folgenden Elemente haben:

  • Vernunft (Fehler -ID, Projekt -ID oder nicht funktionale Änderung)
  • Name des Rezensenten

Nach dem Commit müssen wir auch einen Änderungs -Blogeintrag in unserem CMS erstellen.

Ich bin kein großer Fan dieser Verpflichtungsrichtlinien, weil ich normalerweise keinen Rezensenten brauche, wenn ich neue oder experimentelle Dinge in einer nicht produktiven Branch mache.

Haben Sie irgendwelche Feststellungsrichtlinien, müssen Sie folgen?

Ich denke, es ist eine gute Idee, die produktive Branch nur aufgrund eines Fehlerberichts zu verändern, aber in die Entwicklungszweige sollte sich verpflichtet sollten weniger restriktiv sein.

War es hilfreich?

Lösung

Früh verpflichten und oft verpflichten.

Wir verwenden /koffer als Entwicklung und Tags, um verschiedene Veröffentlichungen zu verzweigen. Nur strukturelle intrusive Veränderungen gehen in /Zweigen.

Wir verwenden aktiv Tags für Produktions- und Annahmeveröffentlichungen, damit wir leicht in die Zeit zurückkehren können. Alles, was im Kofferraum festgelegt ist, sollte nur eine Nachricht haben, die beschreibt, was das Commit änderte oder kurz hinzugefügt wurde.

Ich bin kein großer Fan von der Verwendung des Nachrichtenraums, um mit Fehler -ID zu verknüpfen. Es erfordert immer noch eine Suche nach der ID. In diesem Fall können Sie sie auch in der Fehler -Tracking -Software nachschlagen und dort schließen, was für mich für mich geht Gleiche Anstrengung.

Um nicht zu sagen, ich mag keine SVN -Integration: - Wir verwenden mehr Güte automatisierter Nant -Skripte, um Freisetzung zu machen, die sie in /Tags verzweigen - SVN -Requisiten speichern tatsächlich unsere Versionsnummern: p. - Hakenskripte für E -Mail -Benachrichtigungen und Meldungsprotokollierung (ideal zum Kopieren von Release -Notizen).

Andere Tipps

Wir haben eine Reihe von Richtlinien, die über ein internes Plug-In in Visual Studio durchgesetzt werden. Wir überprüfen, ob Code kompiliert und dass Unit -Tests erfolgreich ausgeführt wurden. Im Moment überprüfen wir auch die Codeabdeckung und geben Warnungen für Code aus, die nicht genügend Tests haben. Wir führen auch verschiedene Konsistenzprüfungen durch und überprüfen, ob in unserem Änderungsmanagementsystem eine geeignete Aufgabe vorhanden ist, um Rückverfolgbarkeit für alle Änderungen zu bieten.

Der Vorteil der Werkzeugunterstützung ist großartig, da es nicht wirklich an den Menschen liegt, die Richtlinien zu respektieren, aber offensichtlich gibt es einen Nachteil, und diese Schecks brauchen Zeit, um zu laufen. Bei vielen Entwicklern ist es jedoch schwierig, Standards ohne ordnungsgemäße Instrument -Unterstützung durchzusetzen.

Ein Rezensent scheint aus den von Ihnen erwähnten Gründen sinnlos zu sein, da nicht alles von anderen überprüft werden muss.

In der Vergangenheit bestand die einzige Commit -Richtlinie, die wir hatten (wo ich früher gearbeitet habe), einen Kommentar aufzunehmen, der angibt, was Sie sich geändert haben und warum, aber das ist mehr gesunder Menschenverstand als alles andere.

Eine gemeinsame Verpflichtungspolitik besteht darin, eine Fehler -ID dem Verpflichtung zum Kofferraum als Rechtfertigung in Verbindung zu bringen. Manchmal sind Versionskontroll- und Fehlerverfolgungssysteme für die Durchsetzung dieser Richtlinie konfiguriert.

Unsere Commit -Richtlinie klingt ein bisschen wie Ihre, nur wir setzen sie nicht in Aufgabenzweigen durch (wobei ein Aufgabenzweig wie die Sandbox eines Entwicklers zum Experimentieren ist).

Unsere Commit -Kommentare müssen entweder eine Änderungskontroll -ID (neue Funktion, Verbesserung) oder eine Problem -ID (Fehlerbehebung) enthalten. Sie müssen auch eine kurze Erklärung für die warum Sie haben diese Änderung vorgenommen; Versionskontrolle verfolgt das Who, was, wann und wo.

Meine Commit -Nachricht enthält eine kurze Beschreibung, die ich in den Klassen implementiert oder geändert habe.

Die Fehlernummer und die zusätzlichen Beschreibungen, die ich in die Kommentierung über dem neuen Code eingelegt habe. IDs in den Commit -Nachrichten, die wir bei der Verschmelzung von Änderungen in eine markierte Filiale einfügen.

Jeden Abend überprüft ein automatischer Build die verschiedenen Funktionen und Produkte, auch sicher, dass die Codebasis stabil ist.

Aber am Ende denke ich, dass Sie nicht zu viele Beschreibungen für neue oder geänderte Klassen haben können, aber zu viele Richtlinien, die Sie vor einem Commit machen müssen. Der Name des Rezensenten ist etwas, das ich nicht in die Commit -Nachricht einfügen würde.

Denken Sie darüber nach, dass Sie manchmal Ihren Code, den Sie vor 2 Jahren implementiert haben, untersteuern müssen. Und dann freuen Sie sich über Commit -Nachrichten, die nicht wie "Update nach Debugging" sind.

Wir haben Filialen für jede veröffentlichte Hauptversion der Software, die noch aktiv unterstützt wird. Die Überprüfung in einen dieser Zweige erfordert eine Fehler -ID - dies wird durch erzwungen werden scmbug, was nicht nur prüft, ob der Kommentar durch die Fehler -ID vorangestellt wird, sondern auch diesen Fehler in der Fehlerdatenbank nachschlagen, sicherstellen, dass er dem Committer zugewiesen ist und möglicherweise andere Kriterien überprüfen kann (z. B. die "Fix in Zweigstellen". Feld ist der Zweig, dem er verpflichtet ist).

Eines der Produkte hat mehr Potenzial, in peinlichem Wege zu scheitern, und es erfordern nicht nur eine Fehler -ID, sondern auch eine Codeüberprüfung. Die Kriterien für die Codeüberprüfung werden jedoch in unserer Fehlerdatenbank behandelt. Wir haben dafür benutzerdefinierte Felder und der Fehler kann erst dann akzeptiert und geschlossen werden, wenn er überprüft wurde. Für mich funktioniert dies aus einer konzeptionellen Ebene - es ist wahrscheinlich besser, Code zu überprüfen, von dem angenommen wird sicher Es ist bereit zur Veröffentlichung.

Abgesehen davon gibt es keine ausdrückliche Richtlinie für den Kofferraum (obwohl natürlich die allgemeinen Grundsätze der Überprüfung oft ohne gegen den Build, einschließlich guter deskriptives Festungsnachrichten, und der Überprüfung von Arbeiten von Arbeiten, die atomisch immer noch gelten), gelten).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top