2013-02-12 15 views
5

Ich mache einen SVN-Export des Repos an einen temporären Speicherort, dann entferne ich einige Verzeichnisse, bevor ich die Codebasis in ein Deployment-Verzeichnis kopiere.svn export alle bis auf einige Verzeichnisse

Gibt es eine Möglichkeit, eine Liste von Verzeichnissen während des Befehls "export" zu "ausschließen"?

Der Grund dafür ist, dass der Export schneller ist (brauche ich nicht, Sachen zu holen, die ich in dieser Bereitstellung entferne), und deshalb ist das Bereitstellungsskript schneller.

+0

gehört – Benjamin

Antwort

3

Sie können das Konzept von Sparse Directories Exclusion verwenden, um dies zu erreichen. Für Details darüber können Sie es lesen here.

Diese blog post hat auch das obige Konzept erläutert.

Angenommen, ich kümmere mich nicht mehr darum, was in einem Verzeichnis von einem meiner Projekt-Arbeitskopien passiert. Vielleicht interessiert mich die Subversion Projekt-Website nicht mehr. Nun, mit dieser neuen Funktion zum Ausschließen ich kann Subversion sagt das Verzeichnis zu entfernen:

$ cd ~/projects/subversion/trunk 
$ svn update --set-depth=exclude www 
D   www 
$ ls www ls: cannot access www: No such file or directory 
$ 

erfolgtes Abkommen. Wenn ich meine Arbeitskopie in Zukunft aktualisiere, wird I keine Änderungen erhalten, die auf dieses www-Verzeichnis abzielen. Wenn ich später entscheiden, dass ich über das Verzeichnis noch einmal egal, ich kann „resubscribe“, um es wieder:

$ svn update --set-depth=infinity www 
A www 
A www/links.html 
A www/testing-goals.html 
… 
A www/tigris-permissions.html 
A www/webdav-usage.html Updated to revision 36292. 
$ 
+1

Vielen Dank für Ihre klare Antwort auf unix.stackexchange.com. Ich hatte auf einen "einen Befehl" gehofft, aber ich denke, dass drei Befehle in meinem Fall den Trick machen werden. Zusammenfassung der Schritte: "svn update --set-depth = ausschließen; svn export; svn update set-depth = unendlich; – user1484259

Verwandte Themen