Inhaltsverzeichnis

SVN

svn ignore mit mehreren Dateien

Um mehrere Dateien komfortabel zu den svn:ignore Properties hinzuzufügen gibt es den Befehl

svn propedit svn:ignore . 

Damit öffnet sich ein Editor in dem man die Eigenschaften bearbeiten kann.

alle "unversioned" Dateien löschen

svn-clean

oder

svn status | grep ^\? | cut -c9- | xargs -d \\n rm -r 

alle "unversioned" Dateien hinzufügen

Um alle Dateien zum Repository hinzuzufügen, die noch nicht unter Versionskontrolle stehen, kann man add mit dem Paramter –force benutzen.

svn add --force .

.svn rekursiv löschen

rm -rf `find . -type d -name .svn`

einzelne Dateien von Commit ausschließen

Um einzelne Dateien oder Zeichnisse von einem Commit auszunehmen, kann man sie mit grep und awk

svn st | egrep -v "PATTERN1|PATTERN2" | awk '{print $2}' | xargs svn ci

oder nur mit awk

svn st | awk '/PATTERN1/||/PATTERN2/ {print $2}' | xargs svn ci

herausfiltern.

Externe Repositories einbinden

Um ein externes SVN-Reposistory als svn external in dem Ordner <ordnername> unterhalb des aktuellen Pfades einzubinden:

svn propset svn:externals '<ordnername> http://<svnserver>/<projekt>/trunk' .

Wichtig sind dabei die Anführungszeichen und der Punkt. Der Ordner <ordnername> wird dabei automatisch angelegt.

Binärdatei (z.B. PDF) als Text erkannt

Um Subversion das Erraten des Dateityps (binär/Text) abzunehmen, kann man svn in ~/.subversion/config folgendes angeben:

enable-auto-props = yes

sowie

[auto-props]
# set PDF always as binary
*.pdf = svn:mime-type=application/pdf 

svn diff in Farbe

Um die Ausgabe von svn diff in Farbe anzuzeigen, die Datei ~/.subversion/config bearbeiten, so dass colordiff benutzt wird:

diff-cmd = colordiff

Damit svn diff | less weiter wie gewohnt funktioniert, sollte man noch in der ~/.bash_aliases

alias less='less -R'

setzen.