Frage

Ich möchte ein vorhandenes Subversion -Repository mit schlecht formatiertem Perl -Code aufräumen. Da ich nicht sicher bin, ob einige Vergleiche mit ziemlich altem Code erforderlich sind, möchte ich im Idealfall für alle Überarbeitungen die gleiche Formatierung haben.

Auf der anderen Seite erstellen Sie ein neues Repo, indem Sie alle alten Revisionen, die neu formatierte Perltidy und einchecken, die ursprünglichen Protokollnachrichten aufbewahren.

Gibt es Tools/Rezepte, um dies zu tun?

War es hilfreich?

Lösung

Was genau möchten Sie tun? Alle alten Überarbeitungen aufräumen?

Tu es nicht. Sie werden Ihre Geschichte zerstören, und obwohl Sie dasselbe Perl -Skript generieren sollten (gerade jetzt aufgeräumt), könnten Sie am Ende einige zuvor veröffentlichte Revisionen veröffentlichen. Außerdem ist es keine Mühe wert.

Ich würde Ihnen empfehlen, Ihre aktuellen Überarbeitungen zu überprüfen, Perl Tidy auszuführen und dann Ihre Änderungen zu überprüfen. Sie werden Ihren alten Code nicht ändern, aber es gibt Ihnen saubere Sachen, mit denen Sie von nun an arbeiten können.

Wenn Ihr Perl -Code so schlecht formatiert ist, dass Sie das Ganze mit Perl Tidy ausführen möchten, haben Sie mehr Probleme. Was verhindert, dass jemand den Code wieder durcheinander bringt?

Ich würde Ihnen auch empfehlen, sich anzusehen Jenkins als Teil eines kontinuierlichen Bauprozesses. Du nicht kompilieren Perl -Code, aber Sie könnten Jenkins verwenden, um Tests auszuführen, um sicherzustellen, dass neue Perl -Skripte und Änderungen an Ihren Perl -Skripten aufgeräumt wurden. Wenn ein Perl -Skript eine schlechte Formatierung hat, werden Sie Scheitern Der Build und die E -Mail selbst und den Entwickler.

Entwickler werden schnell lernen, Perl Tidy zu verwenden, bevor sie den neuen Perl Code of Face der öffentlichen Verlegenheit von A einchecken fehlgeschlagener Build.

Unterstützt der Rest Ihres Entwicklungsteams Ihre Bemühungen übrigens? Wenn nicht, müssen Sie sie als erstes davon überzeugen, dass eine gute Perl -Formatierung Fehler reduzieren und ihnen Tools geben kann, mit denen ihre Formatierungsbemühungen automatisiert werden können.

Andere Tipps

Für die Zukunft würde ich eine empfehlen SVN Pre-Commit-Haken zu einem Skript, das ausgeführt wird Test :: Perltidy Alle zwingen, seinen Code aufgeräumt zu halten.

Anstatt zu versuchen, alle früheren Commits zu ändern, können Sie einen Brauch in Betracht ziehen svn diff Befehl, wenn Sie Vergleiche mit alten Versionen machen möchten. Etwas wie:

#!/bin/bash
# tidydiff.sh for tidying code before diffing
perltidy "$1" > "/tmp/$1"
perltidy "$2" > "/tmp/$2"
diff "$1" "$2"
rm "/tmp/$1" "/tmp/$2"

und dann verwenden svn diff --diff-cmd=tidydiff.sh Wenn Sie sich alte Versionen ansehen möchten.

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