Ich möchte Mercurial für meine Arbeitsprojekte evaluieren. Aber die meisten meiner Projekte sind sehr stark auf die Unterstützung von svn: externals angewiesen. Ich habe über StackOverflow gesucht und für entsprechende Unterstützung in Mercurial gegoogelt. Alles, was ich gefunden habe, ist Subrepo Feature in Mercurial 1.3 hinzugefügt, aber die Seite für dieses Feature sagte:
Subrepos sind ein experimentelles Feature für Mercurial 1.3. Tun Sie das also nicht in missionskritischen Repositories!
Ich möchte nicht etwas instabiles verwenden.
Kann irgendjemand etwas über den wahren Status dieses Features und die Pläne, es zu polieren / zu beenden und wann es als "stabil" und bereit für Mission-Critical-Repositories bezeichnet wird, beleuchten?
Das Wort im #mercurial-IRC-Kanal besagt, dass Subrepos weiterhin so funktionieren, wie sie es tun, und die Unterstützung wird wachsen. Zum Beispiel ist der Befehl 'hg status' derzeit nicht Subrepo-bewusst - es funktioniert, es rekrutiert einfach nicht, aber das wird es in der Zukunft sein. Die aktuellen Verhaltensweisen, Dateiformate (.hgsub und .hgssubstate), werden jedoch nur auf abwärtskompatible Weise geändert.
Also, machen Sie weiter und zählen Sie jetzt darauf und freuen Sie sich darauf, besser zu werden.
P.S. Seit mercurial 1.4.2 können die Subrepos jetzt Subversion-Repos sein, also können Sie einen quartären Elternteil und ein Svn-Kind verwenden.
Ich hatte viel Glück mit der Funktion in meinem (leichten) Gebrauch davon bis jetzt. Es ist an zwei Stellen nützlich:
hg pull
-Befehl sichern. hg clone
einen Build-Quellcode erhält. Dies ist näher an der typischen svn:externals
Nutzung. Hier sind ein paar der Einschränkungen, die ich bisher gesehen habe:
clone
, push
/ pull
, update
/ commit
und vielleicht noch ein paar andere. Wenn das Mercurial-Team das Feature als "experimentell" bezeichnet, heißt das nicht, dass es plötzlich entscheiden wird, alle Ihre Daten zu löschen. Sie bedeuten nur, dass sie nicht alle Randfälle wie Namenskonflikte codiert haben (z. B. fügt ein Entwickler einen Unterbericht namens README
hinzu, während ein anderer Entwickler eine Textdatei namens README
hinzufügt).
Tags und Links mercurial subrepos svn-externals