2012-12-18 5 views
5

Nun, nach vielen Stunden des Lesens und Versuch und Irrtum hat es mich endlich getroffen. Mercurial will SubRepos nicht wirklich machen ... zumindest nicht mit TortoiseHg und Bitbucket. Wenn ich mich irre, und Sie nicht eine Abstimmung für eine unhöfliche Antwort ähnlich wie "natürlich funktioniert, haben Sie nicht die offiziellen Dokumente gelesen haben", dann geben Sie bitte ein einfaches Beispiel dafür, wie dies über TortoiseHg letzten zu tun das wird erfolgreich zu Bitbucket schieben. Vielleicht ein Open-Source-Projekt, das mercurial und bitbucket und subrepos verwendet?Empfohlene Methode zum Koordinieren von Versionen mehrerer abhängiger Merkurespeicher?

Alles, was gesagt, wenn wir unsere Klassenbibliotheken in separaten repos halten, und die empfohlene Vorgehensweise ist nicht subrepos zu verwenden („als letztes Mittel“), was ist die empfohlene Methode, eine Version für alle abhängigen Mercurial zu erfassen Repos, mit denen ich schnell und einfach alle Dependency Repos auf die richtige Version für Bugfixes und ähnliches setzen kann.

Ich vermute, ich würde Tags verwenden, um eine Version zu kennzeichnen. Also, ist die empfohlene Möglichkeit, manuell zu allen Bibliotheken zu gehen und jeden Repo mit dem gemeinsamen Versions-Tag zu versehen und dann für alle Assemblies manuell auf diesen Tag zurückzusetzen?

Bitte verzichten Sie auf den technischen Jargon über die Komplexität des Workflow-Managements. Es gibt viel zu lesen über SO. Ich hoffe auf ein einfaches Main-Exe-Projekt mit ein paar DLL-Klassenbibliotheken.

+1

Klingt wie eine Notwendigkeit für eine Mercurial-Erweiterung, um referenzierte (aber nicht Sub-) Repositories zu behandeln, zu mir. – icabod

+1

Ich habe hier ein einfaches Beispiel angegeben: https://bitbucket.org/SteveKaye/mainrepo Ich habe keine Probleme zu klonen, zu aktualisieren und aus dem Hauptrepo zu schieben. –

+0

@SteveKaye Vielen Dank für dieses einfache Beispiel. Können Sie meine Schritte überprüfen, um zu sehen, ob ich etwas in der falschen Reihenfolge mache? 1) Erstellt MainRepo Ordner (Rechtsklick -> erstellen Repository hier) 2) Committed Änderungen 3) Erstellt innerhalb MainRepo ein Ordner SubRepo (Rechtsklick aufgerufen -> erstellen Repository hier) 4) Commited Änderungen an SubRepo 5) Wiederholt 3 und 4 für SubRepo2 6) In TortoiseHg, hinzugefügt SubRepo und SubRepo2 als SubRepos 7) Committed Änderungen an MainRepo 8) Push to BitBucket ... Repository ist nicht verwandt In BitBucket begann ich mit neuen Repositories. Dies wäre der erste Schritt zu Bitbucket – faldeland

Antwort

1

Dank @SteveKaye habe ich eine funktionierende Lösung. Wenn TortoiseHg mit auf „eine subrepository hinzufügen“, wurde die Formatierung TortoiseHg die .hgsub Datei wie diese

subrepo = subrepo 

statt wie sein Beispiel

subrepo = ../subrepo 

Wenn jemand einen Kommentar möchten, weshalb die relative“../"ist erforderlich, das wäre großartig. Meine Verzeichnisstruktur ist die folgende:

MainRepo/ 
     .hgsub 
     SubRepo/ 
     SubRepo2/ 

wenn „../SubRepo“ .hgsub ist relativ, wäre das nicht ../ ein Verzeichnis gehen und suchen Sie dann nach dem Ordner mit dem Namen SubRepo? Na ja, ich kann mich anpassen :) oder korrigiert werden, wenn ../

Steves Beispiel half mir zu sehen, was aus war.

+0

Ich habe eine Antwort auf Ihre erste Frage hinzugefügt, die das erklären sollte. –

Verwandte Themen