2009-04-10 9 views

Antwort

9

Ich bin mir nicht sicher, was Sie meinen, indem Sie "svn: ignore rekursiv beim Importieren anwenden".

Wenn Sie eine Gruppe von Dateien vom Importieren ausschließen möchten, können Sie die global-ignores-Eigenschaft in ~/.subversion/config vor dem Importieren festlegen. Es gibt keine Befehlszeilenoption, um das on-the-fly zu machen.

Alternativ können Sie hinzufügen das Verzeichnis und löschen Sie die unerwünschten Dateien, bevor sich:

$ svn co --non-recursive <repository_url> repo_root 
$ cp -R <project_to_import> repo_root 
$ cd repo_root 
$ svn add * 
$ find . -regex ".*\.\(bak\|obj\)" | xargs svn --force del 
$ svn ci 

Obwohl mühsamen ich den zweiten Ansatz bevorzugen, weil ich kein großer Fan von svn import bin (die svn del Teil ist nicht üblich für mich, und ich möchte die Dateiliste vor dem Commit überprüfen).

Andernfalls, wenn, was Sie wollen, ist die svn: ignorieren Eigenschaft jedes Verzeichnis in der Hierarchie vor dem Importieren Sie die zweite Methode verwenden müssen, und machen Sie einen SVN propset (statt svn del) vor comitting:

$ svn propset -R -F ignore.txt svn:ignore . 

(Sie können von einem svn propset, aber nicht in einem einzigen Commit folgte eine svn Import tatsächlich tun.)

16

Sie können das nicht mit einem normalen Import tun; Sie benötigen eine in-place import.

+0

Thx für den Hinweis auf In-Place-Import. Diese Lösung ist besser als Romulos Vorschlag. – dmoebius