Frage

Ich lerne Mercurial als meine Solo-scm-Software. Mit anderen Management-Software, können Sie Änderungs Kommentare in die Datei-Header durch Tags setzen. Mit hg Sie die Änderung Satz kommentieren, und das geht nicht in die Quelle. Ich bin mehr an zentraler Steuerung wie VSS.

Warum sollte ich die Datei Geschichte in den Header der Quelldatei? Soll ich Mercurial lassen die Geschichte mit meinem changeset Kommentare verwalten?

War es hilfreich?

Lösung

Lassen Sie das Quellkontrollsystem damit umgehen.

Wenn Sie ändern Details im Header gesetzt wird es bald unhandlich und den eigentlichen Code überwältigen.

Darüber hinaus, wenn die scm das Konzept der Änderungslisten hat (wo viele Dateien in eine einzige Änderung gruppiert sind), dann werden Sie in der Lage sein, den Kommentar zu schreiben, so dass es auf die gesamte Änderung gilt und nicht nur die Änderungen in der einer Datei (wenn der Sinn macht), so dass Sie ein klareres Bild davon, warum die Bearbeitung erforderlich war.

Andere Tipps

Ja; lassen Sie die Source-Control-System, um Ihre Kommentare changeset behandeln. Der Grund dafür ist, dass es wesentlich mehr Sinn macht, wenn Sie das Änderungsprotokoll später gerade betrachten und versuchen, herauszufinden, was zwischen zwei Versionen einer Datei vor sich geht - das Quellcodeverwaltungssystem kann die Änderung Kommentar präsentieren, die Situation zu versuchen und zu erleuchten .

Es gibt keinen Grund, um manuell eine Datei Geschichte aufrechtzuerhalten, wenn SCM-Software ist viel besser geeignet, um dieses Problem zu lösen. Allzu oft sehe ich-teilweise fertiggestellte Dateihistorien in der Quelle, die eigentlich weh tut, weil die Menschen nicht richtig annehmen, dass es korrekt ist.

Der Unterschied ist nicht, ob es eine zentralisierte oder verteilte VCS ist, ist es mehr über das, was sich geändert hat wird.

Wenn ich auf .NET bewegt, die Anzahl der Dateien für jede einzelne Änderung aktualisiert schien in die Höhe schnellen. Wenn ich die Änderung in jeder Datei zu protokollieren hätte, würde ich nie eine wirkliche Arbeit zu erledigen. Durch Kommentierung der Satz von Änderungen, spielt es keine Rolle, wie viele Dateien, die ich aktualisieren musste.

Wenn ich jemals alle Änderungen für eine bestimmte Änderung erforderlich zu identifizieren, kann ich zwischen den beiden Versionen des Projektes diff.

Der größte Unterschied (und Vorteil) ich sah, als weg von Sourceschalt war der Wechsel von Datei-basierte auf Basis Commits zu projizieren. Sobald ich daran gewöhnt habe, habe ich aufgehört Wechsel Logtyp Kommentare an alle meine Dateien hinzufügen.

(Als Nebeneffekt, ich habe festgestellt, dass meine Prozessbeschreibung Kommentare besser geworden)

Ich bin kein großer Befürworter des Codes mit Änderung Kommentare Littering. Für den Fall, sie benötigt werden, können sie in der SCM nachgeschlagen werden (zumindest für die SCM-Varianten habe ich verwendet). Wenn Sie sie in der Datei tun möchten, können Sie diese am Ende statt am Anfang setzen. Auf diese Weise werden Sie nicht (zumindest für mich uninteressant,) Kommentare des nach unten zu scrollen Vergangenheit haben, bevor Sie mit dem eigentlichen Code erhalten.

Eine weitere Stimme für die Vermietung des SCM-System der checkin Kommentare behandeln, aber ich habe eine Sache habe hinzuzufügen.

Einige Systeme erlauben Sie RCS-Tags im Quellcode zu verwenden, wo der SCM die Änderungshistorie direkt einfügen können in die Quelldatei automatisch begangen werden. Klingt wie eine gute Balance, weil die Geschichte dann im SCM-System ist und dann in die Quellcode selbst automatisch gesetzt.

Das Problem ist, dass dieser Prozess Änderungen die Quelldatei. Ich denke, das ist eine schlechte Idee, da die Datei nicht auf der Festplatte, bis sie geändert werden kann, nachdem Sie Kommentar eingefügt wird. Wenn Sie ein guter Ingenieur sind, haben Sie Folgendes gebaut und getestet Änderungen vor dem begehen. Wenn Ihre Quelle Änderungen nach dem Commit, dann haben Sie, im Wesentlichen einen Build, der gebrochen werden kann - aber die meisten Ingenieure werden nicht bauen nach einem begehen - warum sollen sie

Aber es ist nur ein Kommentar, den Sie sagen! Das stimmt, aber ich habe einen Fall, in dem es Code in meiner Quelldatei war, den Grund, seltsam genug hatte aussieht wie ein RCS-Header-Tag und der Abschnitt des Codes auf checkin ersetzt wurden, wodurch munging meinen Code . Leicht genug zu beheben, aber schlecht, dass ein Build für 20+ Benutzer gebrochen wurde

Viele einfacher zu vergessen die Geschichte in der Quelle zu erhalten, da man immer (imo) sollte Commits Kommentar Kontrollsystem, das Problem dissappers zu beziehen. Auch wenn Ändern viele Dateien, bevor begehen, in jeder Datei Geschichte ändern, werden lästige Arbeit sein. Das ist wirklich einer der Punkte mit scm mit.

Ich habe Erfahrung mit diesem. Ich habe die Datei Geschichte in den Kommentaren hatte, war es schrecklich . Nichts als Müll, manchmal würde man fast 1k Codezeilen Änderungen nach unten scrollen müssen, bevor Sie schließlich zu bekommen, was Sie wollten. Ganz zu schweigen davon, Sie verlangsamen andere Aspekte Ihres Build-Prozesses von mehr kb in Ihrem Quellcode Baum hinzufügen.

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