Frage

Ich habe fast den ganzen Tag verbracht zu machen, was im Grunde einige Housekeeping Änderungen an der Code-Basis von einem unserer Projekte (alle System.out.println() ersetzt Anrufe mit log4j).

Ich bin ein bisschen neugierig, wie viele Zeilen von Code, den ich mit diesem Satz von Änderungen aktualisiert habe.

Gibt es trotzdem mit cvs diff oder einem anderen Befehl, eine genaue Zahl zu bekommen, wie viele Zeilen geändert hat?

Ich habe versucht,

cvs diff -b -B -R

alle Änderungen im Arbeitsverzeichnis zu bekommen (und Unterverzeichnisse rekursiv), aber für jede Datei geändert es auch Datei / Versionsinformationen ausdruckt, das Zählen macht nur die Zeilen der Ausgabe unbrauchbar.

Irgendwelche Ideen?

War es hilfreich?

Lösung

filtern zusätzliche Zeilen aus dem diff-Ausgang und dann die Zeilen zählen.

Zum Beispiel grep nur Linien, beginnend mit

cvs diff -b -B -R | egrep '^<|>' | wc -l

Andere Tipps

Die diffstat Dienstprogramm ist ein nettes Tool einige einfache Metriken aus der Ausgabe von cvs für immer, svn oder andere diffs.

Sie können einfach Rohr Ausgabe von cvs diff diffstat.

Was ist sicher, dass Sie alle Instanzen mit so etwas wie geändert haben:

find . | egrep -v -e '(CVS|<other patterns you don't want>)' | \
    xargs egrep -e 'System\.out\.println[(][)]' | wc -l

das sollten Sie Null.

Dann die Regex in der zweiten egrep mit ‚log4j‘ ersetzt haben sollte wc -l die Anzahl der Zeilen der Rückkehr Sie geändert haben.

HTH.

prost,

Rob

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top