====== 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 unterhalb des aktuellen Pfades einzubinden:
svn propset svn:externals ' http:////trunk' .
Wichtig sind dabei die Anführungszeichen und der Punkt. Der Ordner 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.
{{tag>Coding}}