Ich versuche, die subrepo-Funktion von Mercurial zu verwenden, mit dem Mercurial Eclipse-Plugin \tortoiseHG.
Dies sind die Schritte, die ich unternommen habe:
- Ein leeres Verzeichnis erstellt
/root
- alle Repos, die ich als Unterrepos haben möchte, in diesen Ordner geklont (
/root/sub1
,/root/sub2
) - Erstellt und hinzugefügt die
.hgsub
Datei im Root-Repository/root/.hgsub
und fügen Sie alle Zuordnungen der Unter-Repos darin ein - mit tortoiseHG, Rechtsklick auf
/root
und ausgewähltcreate repository here
- wieder mit tortoise, wählte alle Dateien innerhalb
/root
und fügte sie zum Root-Repository hinzu - das Root-Repositorium commited
- das lokale Root-Repositorium in ein leeres Repositorium verschoben, das ich auf kiln eingerichtet habe
Dann habe ich das Root Repo in Eclipse gezogen, mit import->mercurial.
Jetzt sehe ich, dass alle Subrepos so aussehen, als wären sie nicht versioniert (kein "orangefarbener Zylinder"-Symbol neben den entsprechenden Ordnern im Eclipse-Dateiexplorer).
Wenn ich mit der rechten Maustaste auf eines der Unterrepos klicke, erhalte ich außerdem nicht alle hg-Befehle im "Team"-Menü, wie ich sie normalerweise bei Root-Projekten erhalte - kein "Pull", "Push" usw.
Auch, wenn ich eine Änderung an einer Datei in einem subrepo gemacht, und dann "Commit" das Root-Projekt, es sagte mir, es wurden keine Änderungen gefunden.
Ich sehe das gleiche Verhalten auch in tortoiseHG - Wenn ich Dateien unter /root
Die Dateien, die direkt zum Root-Repository gehören, haben ein kleines Symbol (ein V), das anzeigt, dass sie versionskontrolliert sind, während die Ordner der Unterrepos nicht als solche gekennzeichnet sind.
Was mich vermuten lässt, dass es sich um einen Fehler auf meiner Seite handelt, ist, dass 1. sowohl tortoise als auch eclipse dasselbe tun, so dass es weniger wahrscheinlich ist, dass es ein Fehler in einem der beiden Programme ist 2. Was sie tun, sieht ziemlich ausgeklügelt aus, so dass es nicht wahrscheinlich ist, dass es sich um einen Fehler handelt - beide ignorieren alle Ordner, die in .hgsub sind. Wäre das Gegenteil der Fall (alle Unterrepos werden als reguläre Ordner des Haupt-Repos behandelt, anstatt als unversioniert behandelt zu werden), hätte ich gedacht, dass es sich um einen Fehler handelt, der durch die Nichtbehandlung von Unterrepos verursacht wird. Aber offensichtlich erkennen beide Anwendungen die .hgsub-Datei an
Mache ich etwas falsch, oder ist es ein Fehler?