2016-06-10 8 views
0

Ich arbeite derzeit an zwei verschiedenen Teilprojekt. Bis jetzt hatte ich zwei verschiedene Quecksilber-Speicher für jeden. Ich möchte die beiden sub_projects alle in einem Repository behalten, aber dann möchte ich immer noch in der Lage sein, an den beiden sub_projects gleichzeitig und getrennt zu arbeiten, ohne Änderungen von beiden Subprojekten in einem commit zu committen. Meine zwei Teilprojekte sind völlig unabhängig. Ich möchte in der Lage sein, die Geschichte jedes der Teilprojekte unabhängig zu begehen und zu sehen.Best Practice für die Verwaltung von zwei verschiedenen Codes in einem Merkur-Repository

Ich habe mich gefragt, was ist die beste Praxis in diesem Fall. Ich möchte die beiden Teilprojekte in einem Repo behalten, da dies die Lieferung an den Kunden wesentlich erleichtert.

Vielen Dank im Voraus für Ihre Hilfe,

Antwort

1

Wenn es zwei unabhängige Codebasen sind, dann ist meine Empfehlung, sie in eine NICHT zu verschmelzen - es nicht machen wird nicht einfache Handhabung.

Allerdings, wenn Sie einen gemeinsamen Code zum Erstellen von Basis festgelegt sind, dann gibt es verschiedene Strategien:

a) sie einfach durch Ziehen ein Projekt in das andere in einem Repository zusammenführen. Dies erfordert, dass in den beiden Repositorys keine identisch benannten Dateien vorhanden sind. Alternativ können Sie die Erweiterung convert verwenden, um sie entweder in separate Pfade zu verschieben und dann die konvertierten Repositorys in eins zu ziehen. Sie müssen manuell darauf achten, dass Sie so festlegen, dass Sie nur Dateien eines Projekts gleichzeitig berühren.

b) Nutzen Sie Teilprojekte. Die beste Wahl für separate Teilprojekte ist die Verwendung der Erweiterungvon Mercurial; Es wird empfohlen, ein flaches übergeordnetes Repository zu verwenden, von dem die beiden Unterprojekte nur das sind: Unter-Repositories. Denken Sie daran, die Dokumentation der Erweiterung der Unter-Repositories sorgfältig zu lesen - sie wird als "Feature of Last Resort" bezeichnet, aus Gründen, dass sie ihre Ecken und Kanten hat. Sie können jedoch die einzelnen Unterprojekte separat festlegen, ohne das andere zu berühren, und einen gemeinsamen Status der Projekte erstellen, indem Sie im übergeordneten Repo einen Commit durchführen, der den Status der Unterprojekte aufzeichnet.

Es gibt auch ähnliche alternative Erweiterungen wie guest repo und ähnliche - vielleicht passen sie besser zu Ihrem Anwendungsfall.