Wir haben ein Repository mit drei benannten Zweigen, ich wollte einen der Zweige klonen. Gibt es einen merkwürdigen Befehl, das zu tun? Wenn ich den Pfad (der Zweigstelle) mit hg Klon zur Verfügung stelle, bekomme ich 404 Fehler.Mercurial-Klon aus einem Zweig
Antwort
hg clone http://your/repo -r branchname
sollte den Trick tun.
Benjamin hat Recht. Aber wollen Sie das wirklich? Insbesondere erhalten Sie nur die Changesets, die für diesen Zweig erforderlich sind, und nichts anderes - und das würde zum Beispiel verhindern, dass Changesets vom Stamm oder anderen Zweigen übernommen werden. Sie sollten besser das ganze Repository klonen und dann einfach in der Branche arbeiten, an der Sie interessiert sind. Auf diese Weise können Sie Ihr Repository leichter mit dem synchronisieren, von dem Sie gerade ausgehen.
grundsätzlich habe ich immer an Subversion gearbeitet, würde ich sehr schätzen, wenn Sie mich auf eine Ressource verweisen könnte erklärt dies ein wenig mehr, da die meisten Ressourcen nur darüber sprechen, wie man in hg vorgeht. – Abidi
Ich mache diesen Übergang selbst. Die grundlegende Veränderung, die Sie vornehmen müssen, besteht darin, dass Sie nicht mehr nur mit Mercurial an einer lokalen Kopie arbeiten. Was Sie haben, ist ein Repository, genau wie das, aus dem Sie klonen. Wenn Sie 'hg pull' ausführen, aktualisieren Sie Ihr Repository tatsächlich mit den Änderungen, die im Upstream aufgezeichnet wurden. Wenn Sie "hg push" drücken, drücken Sie Ihre Änderungen darauf. Alle 'hg update' bewirken, dass die Dateien in Ihrem Verzeichnis den Status des Repositorys für jede Revisions- oder Branch-Markierung oder was auch immer Sie auswählen, widerspiegeln. – jmaynard
Ein Grund dafür ist, dass Sie nur Mercurial verwenden, um beispielsweise Änderungen an einem Server vorzunehmen. In diesem Fall * wollen * Sie eigentlich nicht, dass die Nichtproduktionszweige überkopiert werden. –
Ich weiß, dass dieser Beitrag sehr alt ist, aber ich hatte die gleiche Frage. Ich habe diesen Trick:
hg clone /path/to/your/repo -r 0
hg pull -u -b branchname
Vielleicht möchten Sie erwähnen, was die Unterschiede sind, wenn Sie dies verwenden. Offensichtlich gibt es subtile Veränderungen hinter den Kulissen. –
hg clone <URL> -b BRANCHNAME
Klon einzigen Zweig, wie
Ich benutze Mercurial-4.0.2. Darin können wir den Zweignamen angeben, indem Sie den Zweignamen mit einem # Symbol in der Klon-URL anfügen.
z.B.
hg clone https://[email protected]/my_product#MY_BRANCH
hg clone --verbose https://[email protected]/my_product#MY_BRANCH "C:\myCode"
Funktioniert perfekt! –
Danke sehr, sehr viel – Maximosaic
Benjamin Pollack Gibt es einen Weg, um Code zu klonen aus diesem Zweig von einer bestimmten Revision an der Spitze dieser branch..I versucht hg clone https: //[email protected]/ TEAM/REPO -r BRANCH_NAME --startrev REVISION_NUMBER, aber es gibt einen Fehler "hg Klon: Option --startrev nicht erkannt " –