# Code in SVN history finden



## ArkLut (9. Feb 2019)

Hi,

Ich habe ein SVN repositorymit vielen commits im letzten jahr.
Ich würde gerene in diesen commits (als den diffs) gerne nach strings/patterns suchen um code changes zu finden.
Also ob z.B. ein bestimmter code inerhalb dieser Zeit hinzugefügt/entfernet wurde (und wann und wo).
wenn ich z.B. nach "Logger.debug" suche um zb heraus zu finden wann und wo in deisem Jahr neue log messages für debugg hinzugefügt wurden, bzw ob welche entfernt wurden!

Wie kann man das den am besten anstellen. Ich nutze auf Windows 10 Tortoise SVN.
Aber wenn ich was anderes brauche kann ich das sicher auch einrichten.


----------



## mihe7 (9. Feb 2019)

ArkLut hat gesagt.:


> gerne nach strings/patterns suchen um code changes zu finden.


grep?


----------



## ArkLut (10. Feb 2019)

mihe7 hat gesagt.:


> grep?


wos?

Oder:
Und wie durchsuche ich damit die diffs? Bzw woher kommen die?
Ich will ja nicht den IST code durchsuchen.


----------



## mihe7 (10. Feb 2019)

Mal ein Beispiel mit einem zufällig gewählten Repository:

```
svn diff https://svn.code.sf.net/p/statsvn/code/trunk@404 https://svn.code.sf.net/p/statsvn/code/trunk@405 | grep "^\+\s*.*result = url"
```
Ausgabe:

```
+        String result = url;
+                result = url.substring(getRootUrl().length());
+            result = url.substring(getRepositoryUrl().length());
```
Aha, zwischen 404 und 405 wurde der Spaß eingefügt.

Wenn Du beide Revision-Nummern um eins hochzählst, dann erscheint z. B. keine Ausgabe mehr.


----------



## ArkLut (10. Feb 2019)

OK, aber wird das nicht unlustig wenn ich mir den genzen rage von einem Jahr ansehe?
weil ich dann ja nicht weiß wann es eingefügt wurde oder eben jedes einzelene diff fragen muss ... oder muss ich mir dann dafür auch was basteln.


----------



## mihe7 (10. Feb 2019)

ArkLut hat gesagt.:


> aber wird das nicht unlustig wenn ich mir den genzen rage von einem Jahr ansehe?


Ich habe nicht gesagt, dass es einfach wird 



ArkLut hat gesagt.:


> oder muss ich mir dann dafür auch was basteln.


Ja. Subversion hat halt das Problem, dass die Arbeitskopie halt wirklich nur eine Revision ist. In der Bash-Shell wäre das relativ einfach umzusetzen. Für Windows habe ich gerade mal gegoogelt: http://svnquery.tigris.org/ ob das was taugt: keine Ahnung.


----------

