Frage

Mein normaler Arbeitsablauf ein neues Repository mit Subversion zu erstellen, ist eine neue repos zu erstellen, eine Kasse des repos root tun, meine Zweige Tags und Stamm-Ordner und Platz im Kofferraum meine ersten Dateien erstellen. Dann haben ein I dieser „ersten Import“ begehen, löschen Sie die ausgecheckt repos von meiner Festplatte und machen Sie einen der Kasse des Rumpfes. Dann kann ich anfangen zu arbeiten.

Wenn jedoch mit einem großen Import zu tun, denken Hunderte von megs und Off-Site-Versionskontrolle Hosting (http basierte) dieser erste Import kann eine ganze Weile dauern zu begehen. Was noch schlimmer ist, nachdem begehen muß ich wieder alle über diesen massiven trunk.

Gibt es eine Möglichkeit mit Subversion die lokale Kopie des Stammes zu verwenden, ohne eine Kasse all immer wieder von Daten zu tun, die schon da ist?

War es hilfreich?

Lösung

Es ist - es ist ein "in-place-Import" genannt, und es ist in der Subversion FAQ hier behandelt:

http://subversion.tigris.org/faq.html#in -ort-Import

Was Sie wirklich tun ein neues leeres Projekt im Repository erstellen, die leeren Projekt Ihre lokalen Ordner auschecken - die Ihren Ordner in eine Arbeitskopie verwandelt - und dann alle (vorhandenen) Dateien in das ‚leer Hinzufügen 'Projekt, so dass sie in das Repository hinzugefügt, wenn Sie tun, ein svn commit.

Andere Tipps

Ich bin damit einverstanden auf den "in-place-Import" Verfahren und auch ein Skript für TTB-Struktur (upvoted beide) verwendet wird.

Nur ein kleiner Hinweis:

Sie sollten nicht importieren ein große (zehn Tausend) Anzahl der Dateien in einem einzigen begehen, wenn Sie verwenden http (s), als die Zeit, die Versionsgeschichte für die Anzeige von Skalen von die Anzahl der hinzugefügten Einträge . Der Grund für dieses Verhalten ist, dass Apache alle hinzugefügten Pfade zu authentifizieren hat agains die svnaccess Datei (natürlich nur, wenn Sie pfadbasierte Autorisierung freigegeben). Dies kann Ihren Repository unbrauchbar machen, da alle Dateien auf einem SVN-Protokoll für diesen großen rev warten müssen.

Sie sollten teilen riesige Einfuhren auf Verzeichnisebene

Normalerweise verwende ich „svn mkdir“ den trunk / tags / branches direkt auf dem Server unmittelbar nach dem Erstellen des Repository zu erstellen. Dann kann ich den leeren Kofferraum werfen, meine anfänglichen Dateien in dieses Verzeichnis bewegen, und verpflichten sie, und anfangen zu arbeiten.

svn checkout --force können Sie einen working ‚über‘ einen vorhandenen Pfad der Kasse. Es hält Ihre alte Dateien und fügt Dateien, die nur in Ihrem Repository sind.

Für das Repository zu erstellen: Sie können mehr mkdir Befehle an ein Endlager in einem einzigen Commit mit dem 'svnmucc' Befehl ausführen, die in den meisten Subversion-Distributionen verfügbar ist (zB SlikSVN ).

Typ svnmucc ohne Argumente für etwas Hilfe.

Wenn Sie noch einen einzelnen Ordner ausgecheckt, kopiert die Dateien hinein, laufen svn add und svn commit; Sie sollten nicht die Dateien und Wieder Kasse löschen müssen.

Verwenden Sie die Dateien an ihrem Platz: sobald sie begangen haben, wie Sie beschreiben, sie sind bereit zu bearbeitenden

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top