2009-10-20 6 views
5

Meine Verzeichnisstruktur sieht wie folgt aus:Wie kann ich SVN-Status rekursiv konfigurieren, um ignorierte Dateien auszublenden?

project/ 
    app1/ 
    app2/ 
    settings.py 

Aus dem project Verzeichnis, lief ich svn propedit svn:ignore . Diese nur Dateien ignorieren aus Regisseur Projekt seiner Unterverzeichnisse ausschließen. Ich kann die svn ignore erneut innerhalb jedes Ordners ausführen und es wird funktionieren. Gibt es einen internen Svn-Befehl oder eine Option, die es rekursiv für mich tun kann oder sollte ich auf ein Skript zurückgreifen, um die Ignorierung innerhalb der einzelnen Unterordner meines Projekts durchzuführen?

Ich habe meine ignoriert Dateien setzen:

*.pyc 
*.swp 

Jedes Mal, wenn ich ein svn status tun, habe ich noch die oben genannten Dateien sehen. Gibt es eine Möglichkeit, svn status zu informieren, um ignorierte Dateien rekursiv auszublenden?

+1

'svn status' nicht ignoriert Dateien verstecken. Wie haben Sie festgelegt, dass diese Dateien ignoriert werden? –

+1

Haben Sie die zu ignorierende Änderung eingecheckt? Ich bin mir nicht sicher, ob es funktioniert, bis du es tust. – pivotal

+0

Ich habe meine Frage zur weiteren Klärung bearbeitet. –

Antwort

5

svn propedit funktioniert nur auf einem Ziel zu einem Zeitpunkt. TortoiseSVN verfügt über eine Option zum rekursiven Anwenden von Eigenschaften. Wenn Sie sie jedoch nicht oder eine andere GUI mit dieser Option verwenden, müssen Sie dies mit einem Skript tun.

Allerdings, was Sie sollten wirklich tun ist global-ignores gesetzt, um die beiden Dateimuster zu ignorieren, die Sie erwähnten. Nach the most recent documentation, *.pyc und *.swp sind in den Standard-Ignorieren für Subversion 1.6 enthalten, aber Sie können sie hinzufügen, wenn Ihre config Datei sie nicht hat.

Der Speicherort Ihrer Datei config ist plattformabhängig. Siehe den obigen Dokumentationslink. global-ignores ist in der miscellany Abschnitt.

+0

Dokumentationslink ist tot. Ich glaube, das ist die aktuelle Version und der Ort von Interesse. http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.advanced.props.special.ignore Relevanter Abschnitt - "Auf Unix-ähnlichen Systemen erscheint dieser Bereich als Verzeichnis namens .subversion Im Home-Verzeichnis des Benutzers. Auf Win32-Systemen erstellt Subversion einen Ordner mit dem Namen Subversion, normalerweise im Bereich Anwendungsdaten des Profilverzeichnisses des Benutzers (das normalerweise ein verstecktes Verzeichnis ist). " – RyanfaeScotland

+0

In Windows-Typ% APPDATA% in die Explorer-Adressleiste, um dorthin zu gelangen. – RyanfaeScotland

2

Das einzige Problem mit den globalen Ignorieren ist, dass Sie eine Dateierweiterung benötigen. In einigen Programmen gibt es Dateien ohne eine Erweiterung (oder es gibt nur viele Erweiterungen). Ein Beispiel sind die tmp-Dateien in CakePHP.

Ich reparierte diese durch (in Linux-Shell bash):

cd app/tmp 
for a in `find . -type d |grep -v svn`; do svn propset svn:ignore '*' $a; done 
Verwandte Themen