Kann ich einen Ordner an der SVN-Kasse ignorieren? Ich muss den DOCs-Ordner beim Auschecken auf meinem Build-Server ignorieren.
Bearbeiten: Externe ignorieren ist keine Option. Ich habe einige externe Geräte, die ich brauche.
Kann ich einen Ordner an der SVN-Kasse ignorieren? Ich muss den DOCs-Ordner beim Auschecken auf meinem Build-Server ignorieren.
Bearbeiten: Externe ignorieren ist keine Option. Ich habe einige externe Geräte, die ich brauche.
Antworten:
Sie können Ordner an einer Kasse nicht direkt ignorieren, aber Sie können spärliche Kassen in SVN 1.5 verwenden. Beispielsweise:
Dadurch werden Dateien und Verzeichnisse aus Ihrem Projekt-Trunk in 'my_checkout' eingecheckt, jedoch nicht in diese Verzeichnisse zurückgeführt. Z.B:
Dann, um den Inhalt von 'bar' nach unten zu bringen:
quelle
svn: Shallowing of working copy depths is not yet supported
Ja, Sie können SVN 1.6 verwenden. Sie müssen zuerst eine Kasse durchführen, dann den Ordner zum Ausschluss markieren und dann den unerwünschten Ordner löschen.
Von nun an werden Aktualisierungen der Arbeitskopie den Ordner "docs" nicht mehr füllen.
Siehe http://blogs.collab.net/subversion/2009/03/sparse-directories-now-with-exclusion/ und http://subversion.apache.org/docs/release-notes/1.6.html#sparse- Verzeichnisausschluss für weitere Details.
Tom
quelle
Bei Versionen vor 1.5 habe ich festgestellt, dass Updates nur dann das bewirken, was Sie ausgecheckt haben, wenn Sie nur den obersten Ordner auschecken und dann selektiv aktualisieren. Dh.
Das Flag -N macht die Operation nicht rekursiv. Das Obige wird nichts anderes auf der foo-Ebene überprüfen, z. Angenommen, es gibt einen Ordner
lala
. Der endgültige SVN-Server überprüft diesen Ordner nicht, wird jedoch aktualisiertbar
.Aber zu einem späteren Zeitpunkt können Sie
svn up lala
es der Kasse hinzufügen.Vermutlich funktioniert das auch mit 1.5.
quelle
Dies ist in TortoiseSVN Client 1.7.1 (möglicherweise auch in einigen älteren Versionen verfügbar):
SVN-Checkout -> URL des Repositorys auswählen
Klicken Sie auf "Checkout Items" (unter Checkout Depth) und wählen Sie nur die gewünschten Ordner aus!
quelle
Sie können den Ordner docs in ein externes Repository stellen und dann verwenden
svn checkout --ignore-externals
.quelle
external repository
bedeutet. Kannst du es erklären?Ja, Subversion 1.5 verfügt über eine Funktion namens Sparse Checkout , mit der genau dies möglich ist.
quelle
Ich fand diese Frage auf der Suche nach einer Möglichkeit, die WebKit-Quellen zu überprüfen und dabei die Regressionstests auszuschließen. Am Ende hatte ich Folgendes:
Beachten Sie, dass Sie die Ausschlüsse nach Belieben ändern können. Es wird jedoch empfohlen, das Arbeitsverzeichnis (das bereits auf dem neuesten Stand ist) und alle .svn-Verzeichnisse zu überspringen.
quelle
Ich habe vor kurzem die gleiche Aufgabe gelöst. Die Idee ist, die sofortige Liste der Ordner / Dateien unter dem Repository abzurufen, die benötigten Einträge auszuschließen, dann die verbleibenden Ordner zu überprüfen und die sofortigen Dateien zu aktualisieren, falls vorhanden. Hier ist die Lösung:
Wechseln Sie in das Quellarbeitsverzeichnis. Kopieren Sie die Befehle. Einfügen. Ändern Sie die entsprechende URL und schließen Sie das Muster aus. Führen Sie den Befehl aus.
Vielen Dank,
quelle
Nein, Ignorieren dient nur zum Hinzufügen von Dateien.
Sie können spärliche Kassen verwenden (wenn Sie SVN 1.5 verwenden)
quelle
Wie einige andere bereits erwähnt haben, können Sie beim Auschecken einfach die Eigenschaften svn: externals und dann die Option --ignore-externals verwenden. Zu beachten ist jedoch, dass svn: externals nicht unbedingt auf ein anderes Repository verweisen muss. Es kann ein Verweis auf einen anderen Ordner im selben Repo sein.
quelle