Wie forme ich ein sich ständig weiterentwickelndes Projekt für die Anpassung an einen bestimmten Kunden, während ich kontinuierlich Verbesserungen aus dem Hauptbereich heraushole, ohne meine Anpassungen zu verlieren?Stammrevisionen mit gabelförmigem Hg-Projekt integrieren
Sollte ich einfach weiter aus dem Haupt-Repository ziehen, entsprechende Änderungen zusammenführen und niemals zurückdrängen?
Ich habe Mercurial nicht lange verwendet, daher mache ich mir Gedanken über die Integration der beiden Projekte, ohne dass geänderte Namespaces und andere Domänen (Client) -Logik durcheinander gebracht werden.
Update: Es sieht aus wie getrennte Repositories, die aus einem Haupt-Repository ziehen ist der Weg zu gehen.
Wie gehen Sie mit geänderten Namespaces um? Ich habe ein Projekt mit einem Firmennamen als Root-Namespace entwickelt und möchte es nun verallgemeinern. Wenn ich es ändere, wird das nicht meine ganzen Züge durcheinander bringen? –
Nur neugierig. Warum bevorzugen Sie separate Repos und nicht die genannten Kundenzweige? Ich habe festgestellt, dass die mehreren Repos eher ein Schmerz sind, als dass es Kundenzweige gibt, aber vielleicht fehlt mir etwas. –
Als ich mit Mercurial begann, waren die benannten Zweige neu und nicht oft zu empfehlen. Ich mag immer noch nicht, dass benannte Zweige niemals gelöscht werden können. Separate Repos funktionieren gut für mich, weil keines meiner Tools absolute Pfade zu Projektdateien oder etwas Ähnliches speichert - ich verstehe, dass einige IDEs separate Repos stören und ich mag es nicht, einen permanenten Namen für etwas zu wählen . Lesezeichen sind wahrscheinlich der beste Kompromiss zwischen den beiden und ab 1.6 sind sie drückbar. Steve Losh hat die beste Zusammenfassung von allem http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial –