Frage

Dies scheint eine sehr grundlegende Frage zu sein, aber ich bin ausgeschlagen. So testen Sie diese Skripte, die man zu einem Hakenzweck geschrieben hat.

Wie wir wissen, dass das Skript im Hintergrund ausgeführt wird und der einzige Fehler uns durch die SVN -Konsole auf uns zurückwirft. Ich habe es mit Haltepunkt versucht, aber ich kann nichts in das Skript eingeben.

Hat jemand eine Idee dazu? Ich schreibe ein SVN-Hook-Skript unter Windows, so viele bereits geschriebene Hook-Skripte, die nicht ausgeführt werden oder nicht die gewünschte Ausgabe angeben, z.

War es hilfreich?

Lösung

Ich kann Ihnen einige Ratschläge geben:

  • Sie müssen ausdrucken STDERR. Nur so wird Ihr Skript Ihnen Fehler meldet. Sie können dies für tatsächliche Tests verwenden.
  • Ich schrieb mein vorkommendes Skript, um beide zu nehmen -t oder an -r Befehlszeilenparameter. Bei der Ausführung als Pre-Commit-Haken kann ich das verwenden -t Parameter in die Transaktionsnummer übergeben. Wenn ich es aus der Befehlszeile ausführen kann, kann ich das verwenden -r Parameter und geben Sie ihm eine Revisionsnummer zum Ausführen.
  • Ich habe auch a geschrieben debug Funktion, die es mir ermöglichte, Informationen auszudrucken, wenn ich a festlegte -debug Befehlszeilenparameter. Ich konnte das ein- und ausschalten.
  • Wenn Sie Ihren Haken tatsächlich testen, verwenden Sie eine Kopie des Repositorys und stellen Sie sicher, dass die pre-commit Das Shell -Skript wird fehlschlagen, indem es mit einem Exit -Code von beendet wird 2. Sie werden Ihre Transaktion niemals begehen, aber Sie erhalten Nachrichten in Ihrem vorkommenden Skript, was los ist (das heißt, wenn Sie alles nach Stderr drucken).

Sie können sich die Hook -Skripte ansehen, die ich entwickle, um einige Ideen zu bekommen. Ich verwende das Data::Dumper Perl -Modul, mit dem Datenstrukturen in meinem Skript ausgedruckt werden können.

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