2010-05-20 7 views

Antwort

5

Ja und nein. Hängt davon ab, was du machen willst. Sie können Repo 'Sandbox/Wiki' erstellen, aber Dateien in diesen inneren Repos werden nicht im äußeren 'Sandbox'-Repo festgeschrieben (@Jason hat Recht). Wenn Sie nicht wollen, kein Problem.

Versuchen Sie explizit, Dateien aus Wiki-Repos in Sandox hinzuzufügen und Sie erhalten die folgende Nachricht. Wenn Sie nur einen Pfad zu einem Verzeichnis mit einem inneren Repo hinzufügen, werden die Dateien einfach ignoriert.

Von sandox Wurzel Directoy:

hg add wiki/myfile 
    abort: path 'wiki/myfile' is inside repo 'wiki' 
7

Die kurze Antwort ist ja, aber ich kann mir nicht vorstellen, warum Sie wollen.

In Ihrem Beispiel, ich glaube, Sie gehen sollte:

repos/sandbox-wiki 

[Bearbeiten] Additionaly:

Yo Dowg, I herd you like repositories. 

So we put a repo in your repo so you can version while you version 

:-)

-1

Sie setzen würde müssen up eine .hgignore Datei in der Sandbox, um Wiki auszuschließen, da mercurial annimmt, dass es für alle Nachkommen verantwortlich ist. Dies würde wahrscheinlich mehr Benutzer Verwirrung erzeugen, als es wert ist.

+3

?! Ich habe den Eindruck, dass mercurial andere mercurial-Verzeichnisse unterhalb der Wurzelhierarchie automatisch ignoriert. (tatsächlich getan) –

+1

Korrigieren Sie sind: Untergebene ignoriert es. Wie dem auch sei, wenn ich mercurials voreingenommene knappe Ausgabe anführe, würde ich immer noch behaupten, Sie würden sich Verwirrung erkaufen. – msw

1

Mercurial nicht verschachtelte Repositories erlauben, aber es ist zumindest ein Grund für sie:

Stellen Sie sich vor, dass Sie in einem Projekt arbeiten:/MyProject. In diesen Ordner legen Sie alles: Code, Dokumentation, Tests, etc.

Sie möchten Ihre Arbeit sichern, weil es sehr wichtig ist, so dass Sie ein Repository für/MyProject erstellen. Überstunden verwenden Sie dann Bundles, um die Entwicklung von/MyProject zu sichern und sichern sie in einem USB-Flash-Speicher, so dass Sie alles wiederherstellen können, nur für den Fall, dass Ihre Festplatte kaputt geht.

Denken Sie daran, dass/MyProject alles enthält. Und unter all diesen Dingen gibt es den Hauptcode und einige Hilfsprojekte. Sie möchten auch den Fortschritt eines Hilfsprojekts verfolgen, das sich in/MyProject/AuxiliaryProject befindet. Daher verwenden Sie Mercurial, um seine Entwicklung zu verfolgen.

Außerdem möchten Sie für den Hauptcode ein separates Repository haben:/MyProject/Main

In dieser Situation Sie verschachtelte Repositories wollen: ein großes für die Möglichkeit, Pakete und Kind-Repositorys Back-up alles mit zur Verwaltung jedes Teilprojekts.

Ich denke, Mercurial sollte dem Benutzer mehrere Optionen bei der Initialisierung eines Repository geben. Zum Beispiel: - verschachtelte Repositorys ignorieren - geschachtelte Repositorys einschließen, aber .Hg-Ordner ignorieren (d. H. So tun, als ob es keine verschachtelten Repositories gäbe, aber die in den geschachtelten Repositories enthaltenen Informationen nicht ignorieren). - umfassen Repositories verschachtelt und auch .hg Ordner (Sinn für Sicherungszwecke macht)

--------- Edit: Subrepositories ist eine Funktion, die Arbeit im Gange ist: https://www.mercurial-scm.org/wiki/subrepos

Außerdem gibt es eine Erweiterung namens "Wald", die in Zukunft möglicherweise veraltet sein wird: https://www.mercurial-scm.org/ForestExtension

Verwandte Themen