Kapitel 7. IBugtraqProvider-Schnittstelle

Inhaltsverzeichnis

Namenskonventionen
Die IBugtraqProvider-Schnittstelle
Die IBugtraqProvider2-Schnittstelle

Um Fehlerverfolgungssysteme besser als durch die bugtraq:-Eigenschaften ansteuern zu können, verfügt TortoiseSVN über eine COM-Schnittstelle. Mit COM-Modulen ist es möglich, Informationen direkt aus dem Fehlerverfolgungssystem abzurufen, mit dem Anwender zu kommunizieren und Informationen über offene Punkte an TortoiseSVN zu liefern. Weiterhin können Logmeldungen überprüft und sogar Aktionen nach einer erfolgreichen Übertragung durchgeführt werden, zum Beispiel das Schließen eines offenen Punktes.

Wir können Ihnen keine Anleitung liefern, wie Sie ein COM-Objekt in Ihrer bevorzugten Programmiersprache erstellen, aber wir haben einige Beispielmodule in C++/ATL und C# in dem Ordner contrib/issue-tracker-plugins unseres Projektarchivs. In diesem Ordner finden sich auch die nötigen Includedateien, die Sie zum Erstellen Ihres Moduls benötigen. „Lizenz“ erklärt, wie Sie auf das Projektarchiv zugreifen.

Wichtig

Sie sollten sowohl eine 32-Bit- als auch eine 64-Bit-Version Ihres Moduls zur Verfügung stellen, weil die x64-Version von TortoiseSVN keine 32-Bit-Module verwenden kann und umgekehrt.

Namenskonventionen

Wir möchten Sie bitten, Ihr Modul für ein Fehlerverfolgungssystem nicht Tortoise<Modul> zu nennen, denn wir würden den Präfix Tortoise gerne den Versionskontrollsystemen vorbehalten, die in die Windows-Explorer-Shell integriert sind. Beispiele dafür sind: TortoiseCVS, TortoiseSVN, TortoiseHg, TortoiseGit und TortoiseBzr.

Bitte nennen Sie Ihr Modul für einen Tortoise-Client Turtle<Modul>, wobei <Modul> sich auf das Fehlerverfolgungssystem bezieht, mit dem sich Ihr Modul verbindet. Wenn Ihnen das nicht gefällt, wählen Sie als Alternative einen Namen, der wie Turtle klingt, aber einen anderen Anfangsbuchstaben hat. Schöne Beispiele sind:

  • Gurtle - Ein Modul für das Google-Code-Fehlerverfolgungssystem

  • TurtleMine - Ein Modul für Redmine

  • VurtleOne - Ein Modul für VersionOne