Kann ein Mercurial-Repository in einem anderen Mercurial-Repository gespeichert werden?

8

Kann man in einem anderen HG Repo auf meinem lokalen Dateisystem einen Repo-Dienst haben?



Ich ziehe das Bitbucket-Wiki für "Sandbox" herunter und möchte wissen, ob dies in repos/sandbox/wiki oder repos/sandbox-wiki platziert werden sollte.

Ist das erstere in Ordnung?

Bearbeiten: Siehe Subrepository .

    
Robert Claypool 20.05.2010, 13:16
quelle

4 Antworten

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 internen Repo hinzufügen, werden die Dateien einfach ignoriert.

Von sandox root directoy:

%Vor%     
kriss 20.05.2010, 13:54
quelle
7

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

In Ihrem Beispiel sollten Sie Folgendes mitnehmen:

%Vor%

[Bearbeiten] Zusätzlich:

%Vor%

: -)

    
0atman 20.05.2010 13:19
quelle
1

Mercurial lässt verschachtelte Repositorys nicht zu, aber es gibt mindestens einen Grund dafür:

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

Sie möchten Ihre Arbeit sichern, da dies sehr wichtig ist. Daher erstellen Sie ein Repository für / MyProject. Überstunden nutzen 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 dessen Entwicklung zu verfolgen.

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

In dieser Situation möchten Sie geschachtelte Repositories: ein großes, um alles unter Verwendung von Bundles und Kind-Repositories zur Verwaltung jedes Unterprojekts sichern zu können.

Ich denke, Mercurial sollte dem Benutzer mehrere Optionen geben, wenn er ein Repository initialisiert. Beispielsweise:  - Verschachtelte Repositories ignorieren  - Verschachtelte Repositories 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).  - enthalten geschachtelte Repositories und enthalten auch .Hg-Ordner (sinnvoll für Backup-Zwecke)

--------- Bearbeiten: Subrepositories ist eine Funktion, die gerade bearbeitet wird: Ссылка

Außerdem gibt es eine Erweiterung namens "forest", die in Zukunft möglicherweise veraltet sein könnte: Ссылка

    
quelle
-1

Sie müssen eine .hgignore -Datei in der Sandbox einrichten, um Wiki auszuschließen, da mercurial davon ausgeht, dass es für alle Nachkommen verantwortlich ist. Dies würde wahrscheinlich mehr Verwirrung bei den Benutzern erzeugen als es wert ist.

    
msw 20.05.2010 13:21
quelle