Gibt es ein Konzept der globalen Ignorierung in SVN?

73

Gibt es eine Möglichkeit, eine globale Liste von Ignorierungen für ein SVN-Repository oder für den SVN-Client auf dem PC einzurichten?

Der einzige Grund, warum ich Tools wie Tortoise / Ankh / VisualSVN verwende, ist, dass ich nur die Dateien einchecken möchte, die ich benötige, ohne all das bin / obj / Resharper-Zeug.

Ich bin verwöhnt von .gitignoreund .hgignoredie ich einfach in ein Repository kopiere und dann benutze, git commit -aohne mich um das Einchecken von Junk kümmern zu müssen.

Ich weiß, dass ich es manuell einstellen kann, aber das ist mühsam und ich denke, es musste auf jeden neuen Ordner angewendet werden, der ebenfalls erstellt wird.

Verwenden von SVN unter Windows.

Michael Stum
quelle
3
Während die akzeptierte Antwort gültig ist, ist die Antwort von bahrep das, wonach das OP gefragt hat, und ein besserer Workflow. Bitte überprüfen Sie seine Antwort, anstatt dies vor Ort zu tun.
Chris Hill
1
Haben Sie versucht, den svn propset svn:ignore "*.myextension" .Befehl zu betrachten?
Igor Ganapolsky
1
@IgorGanapolsky, ich denke es sollte eher sein svn propset --recursive svn:ignore "*.myextension" .. Ein solches Ignorieren gilt jedoch nicht für neue Ordner, die anschließend erstellt werden. Verwendung svn:global-ignoresfür allgemeine ignorieren.
Wernfried Domscheit

Antworten:

83

Bei einer Installation von Subversion befindet sich eine Datei in einem Pfad wie dem folgenden:

  • Windows Vista / 7/8 / 8.1 / 10: C:\Users\<username>\AppData\Roaming\Subversion\config
  • Windows XP: c:\Documents and Settings\<username>\.subversion\config
  • Unix (Linux usw.), macOS: $HOME/.subversion/config

das enthält eine globale Konfiguration für Subversion. In diesem [miscellany]Abschnitt finden Sie einen global-ignoresParameter, mit dem Sie global ignorierte Dateinamenmuster einrichten können.

Im Abschnitt Laufzeitkonfigurationsbereich des Subversion-Handbuchs finden Sie weitere Informationen, einschließlich Informationen zum Einrichten solcher globalen Konfigurationsparameter in der Registrierung, falls erforderlich.

Typische Beispiele:

[miscellany]
global-ignores = *.o *.so *.so.[0-9]* .DS_Store [Tt]humbs.db

oder vielleicht, wenn Sie sich in einer Übergangsphase zur Verwendung von Git befinden:

[miscellany]
global-ignores = .git
Greg Hewgill
quelle
23
Es ist in% AppData% \ Subversion für mich.
Joey
1
Cool, das funktioniert. Ich würde immer noch pro Repository bevorzugen, aber dies erfordert kein Propedit, also ist es meiner Meinung nach besser.
Michael Stum
11
Es ist möglich, svn:global-ignoresEigenschaften auf der Repository-Seite zu verwenden, wenn Sie den Subversion 1.8-Client verwenden: subversion.apache.org/docs/release-notes/…
bahrep
7
~ / .subversion / config oder / etc / subversion / config für Mac / Linux und% appdata% \ subversion \ config für Windows
i_a
4
Konnte es nur unter finden C:\Users\<username>\AppData\Roaming\Subversion.
Aurélien Ooms
41

Es ist möglich, globale Ignorierungen in einem Repository einzurichten, wenn Sie Subversion 1.8 und einen neueren Client verwenden.

In Subversion 1.8 wurde die Funktion " Repository Dictated Configuration" eingeführt . Dank dieser neuen Funktion können Sie die svn:global-ignoresEigenschaft auf der Repository-Seite konfigurieren .

Siehe SVNBook 1.8 | Ignorieren von nicht versionierten Elementen und SVNBook 1.8 | Vererbte Eigenschaften für weitere Informationen.

bahrep
quelle