Geänderten Text in Subversion filtern
Ich hatte ein kleines Problem und wollte in einem Subversion Repository rausfinden, in welcher Version ein Änderung vorliegt. Also habe ich mir Kurzerhand folgendes Script geschrieben (check.sh)
1#!/bin/bash
2REVISIONS=`svn log pom.xml -q|grep "^r" | cut -d"r" -f2 | cut -d" " -f1`
3for rev in $REVISIONS; do
4 svn blame -r$rev:$rev pom.xml | tr -s " " | grep -v "\ \-\ \- "
5done
Wenn man dann die Ausgabe des Scriptes filtert:
1check.sh | grep "Text"
Die Ausgabe sieht ungefährt wie folgt aus:
11345 asdfasdfasdf
Die 1345 ist die Revision Nummber in der die Änderung ("Text") gemacht wurde.
Das Problem bei dem Script ist, dass es sehr gut funktioniert, aber sobalt das Repository bzw. die Anzahl der Revisions die durchsucht werden
müssen größer wird, dauert es etwas. Besser wäre da die Nutzung von SupoSE.
Update:Es gibt leider ein kleines Problem, dass bei der obigen Methode nur der geänderte Text gefunden werden kann aber
kein Text, der gelöscht wurde.