2010-12-16 10 views
4

alt textWas ist der Zweck des Schließens eines Zweiges

Ich fragte mich, was ist der Zweck der Schließung einer Filiale. Wie für issue-1 Zweig, hatte ich schon zu schließen. Aber

  • Ich kann immer noch issue1-1 in meinem Revisionsgraphen sehen
  • ich noch Zweig wechseln issue1-1, und weiterhin zu begehen.

Also, was ist der ganze Sinn des Schließens einer Branche?

+0

Kontrollfrage: Wollen Sie * "Problem1" im Verlauf sehen? –

Antwort

5

See: https://www.mercurial-scm.org/wiki/PruningDeadBranches

Es ist Informations so dass hg branches wird zeigen, dass diese Zweige sind geschlossen. Und hg heads --active zeigt keine Köpfe an, die als geschlossen markiert sind.

Auf lange Sicht kann die Anzahl der Verzweigungen beträchtlich sein und zu Informationsrauschen beitragen. Dies ist eine gute Möglichkeit, einige dieser Geräusche zu reduzieren.

+1

Wenn Sie jemandem vorschlagen, Äste zu reparieren, um UI-Krempel zu reparieren, ist das so, als würde jemand vorgeschlagen, seine Familienfotos wegzuwerfen, um Platz in ihrem Kleiderschrank zu schaffen. Wir sprechen über die Versionskontrolle, und das Verwerfen des Verlaufs sollte nicht als Option betrachtet werden. –

+0

Ry4an, lesen Sie den Link. Ich denke, du gehst nur auf den etwas irreführenden Namen. Es behandelt tatsächlich die Schließung von Zweigen sowie die Nachteile des Beschneidens. Wie die meisten Hg-Dokumente ist es ziemlich gut, dir zu sagen, wo die Drachen sind. –

+0

@ Ry4an: Ihre Analogie ist fehlerhaft. Nichts wird "weggeworfen", keine Geschichte wird verworfen. Das Schließen eines Zweiges fügt nur ein paar Metadaten hinzu, um es als geschlossen zu markieren. –

1

Dies ist genau der Grund, warum benannte Zweige wahrscheinlich nicht die richtige Wahl für Zweige pro Funktion und pro Ausgabe sind - Sie können sie ausblenden, aber Sie können sie nicht beseitigen. Erwägen Sie, reservierte Zweige für langlebige Konzepte wie "stabil", "experimentell" usw. zu reservieren. Für die Verzweigung pro Thema und pro Feature sind entweder anonyme Zweige, Klonzweige oder Lesezeichen bessere Lösungen. Sie sind alle hier wunderbar beschrieben: A Guide to Branching In Mercurial.

+0

Wenn Sie vorhaben, Ihre Änderungen für andere Benutzer verfügbar zu machen, ohne sich in den Hauptzweig einzumischen, muss ich vorschlagen, dass es wichtig ist, einen benannten Zweig zu erstellen. Sobald Sie Änderungen an einem Standardzweig vorgenommen haben, kann kein anderer mehr empfangen werden, ohne dass der Hauptzweig übernommen wird. Sie können natürlich einen anderen Klon erstellen, um es zu erhalten, aber das ist in einigen Szenarien nicht möglich, z. B. durch ein zentrales Repo. Benannte Zweige sind der sicherste und allgemeinste Weg, um ein solches Problem zu vermeiden. AFAIK, Lesezeichen sind nicht ausreichend, da sie streng lokal sind. –

+0

Ich bin mir nicht sicher, was Sie meinen, indem Sie den Hauptzweig übernehmen. Die Leute ziehen und aktualisieren dann den Kopf, den sie wollen, und wenn sie sich nicht aktualisieren, bleiben sie wo sie sind. Lesezeichen sind seit Version 1 drückbar/ziehbar.6 wie in dem Dokument erwähnt, auf das ich verlinkte. Ich habe Mercurial jahrelang intensiv in Umgebungen mit großer Zusammenarbeit eingesetzt, ohne jemals benannte Verzweigungen zu benötigen, und schon gar nicht für kurzfristige Entwicklungsbögen wie Features und Fixes. –

+0

Interessante Neuigkeiten zu den Lesezeichen, das macht sie interessanter. Ich werde herausfinden müssen, was sich in dieser Hinsicht noch geändert hat, denn ich mag die Tatsache, dass sie nicht bestehen bleiben, wenn Sie damit fertig sind. Ich muss sehen, welche Unterstützung für sie in unserem CI-System zur Verfügung steht. Meine Sorge mit mehreren anonymen Zweigen ist, dass a) eine dritte Partei keine Ahnung hat, welches und b) CI-Systeme nicht in der Lage sind zwischen den Köpfen zu unterscheiden und sich scheinbar nicht-deterministisch verhalten, bis Sie feststellen, dass es mehrere Köpfe gibt und wählen Sie aus, welche Sie erstellen möchten, indem Sie den Tipp auswählen. Das ist alles. –

Verwandte Themen