Submitting code to OpenSim/de

Überblick
Bevor Sie beginnen, lesen Sie bitte unsere Contributions Policy.

Nicht alle Patches machen es zu OpenSimulator. Um die Code-Komplexität zu reduzieren, versucht OpenSimulator nicht, ein "Batterien eingeschlossenes" Projekt zu sein. Dinge, die nicht als Kernfunktionalität betrachtet werden können, sind besser implementiert als ein Modul für externe Regionen. Wenn zusätzliche Hooks / Events benötigt werden, sind diese Patches sehr willkommen.

Bitte überprüfen Sie die Coding standards und halten Sie sie in Ihrem Patch fest. Die einzige Ausnahme sollte sein, wenn der umgebende Code diesen Richtlinien nicht entspricht. In diesen Fällen ist es in Ordnung, mit dem bereits in der Datei vorhandenen Code übereinzustimmen. Wenn ein Patch den Richtlinien nicht entspricht, werden wir darum bitten, dass es geändert wird.

Bitte fügen Sie nur jeweils eine logische Änderung in einem Patch ein. Patches, die mehr als eine logische Änderung enthalten, sind in der Regel größer und komplexer und benötigen daher mehr Zeit für die Anwendung. Im schlimmsten Fall werden Entwickler sie nicht anschauen, da es schwierig ist, alle möglichen Effekte zu entwirren. Mehrere logische Änderungen können sich in einem Patch befinden, wenn sie nur ein einzelnes Feature betreffen (z. B. die Funktion, die der Patch aktiviert).

Test
Bitte führen Sie die automatisierten Tests (über "nant test" in der Befehlszeile) aus, bevor Sie Ihren Patch absenden. Patches, die neue Tests hinzufügen (entweder zum Testen des zugehörigen Patch-Codes oder zum Testen des vorhandenen Codes), sind sehr willkommen.

Erstellen Sie eine Patch-Datei
Code wird an OpenSimulator über Patches gesendet, die an Einträge in unserem Mantis bug trackerangehängt sind. Eine Möglichkeit, diese zu generieren, besteht in der Verwendung der Git-Befehlszeile.

git format-patch ^!

Dies wird alle Ihre git commit-Änderungen in eine schöne, leicht anwendbare Datei packen.

Wenn Sie eine bestimmte Festschreibung oder einen Bereich von Festlegungen haben, die Sie in den Patch aufnehmen möchten, führen Sie diesen Befehl aus:

git format-patch -

Wenn Ihr Übergabehash beispielsweise a30f224 lautet und der Patch nur diesen einen Commit enthalten soll, verwenden Sie diesen Befehl:

git format-patch -1 a30f224

Wenn Ihr Patch mehrere sequentielle Commits enthält, wäre die Anzahl der Commits und der Commit-Hash wäre der neueste Commit.

Reichen Sie den Patch ein
Senden Sie den Patch, indem Sie ihn an einen Eintrag in Mantis anhängen.
 * Wenn Sie einen neuen Eintrag erstellen, sollte die Titelzeile mit [PATCH] beginnen.
 * Sobald Sie Ihren Patch eingereicht haben, verschieben Sie bitte den Mantis-Eintrag in den Status Patch Included, um uns mitzuteilen, dass ein Patch auf die Überprüfung wartet. Es kann etwas länger dauern, einen Mantis-Eintrag mit einem Patch zu sehen, wenn er nicht in diesem Zustand ist (und in unglücklichen seltenen Fällen kann er für eine gewisse Zeit ganz übersehen werden).

Sobald du es auf einen Mantis gelegt hast, möchtest du vielleicht auf die IRC-Kanäle springen und dort jemanden erwähnen (obwohl wir im Moment ziemlich gut darin sind, da E-Mails über neu eröffnete Mantis-Einträge sind automatisch an Entwickler gesendet).

Die allgemeine Bearbeitungszeit für den Patch-Review beträgt eine Woche. obwohl es je nach Situation bis zu zwei Wochen dauern kann. Wenn Sie über einen Patch chatten möchten (oder daran erinnern, dass er nach einer Woche existiert), können Sie gerne in # opensim-dev im IRC nachsehen oder eine E-Mail an die openSIM-Entwickler-Liste senden.

Wenn ein Patch überprüft wird, wird er entweder angewendet (in diesem Fall vielen Dank!) Oder der Mantis-Eintrag wird in den Status "Patch-Feedback" mit Kommentaren von Entwicklern/Interessenten geändert. Wenn Sie den Patch im Lichte der Diskussion überarbeiten, ändern Sie bitte den Status zurück auf "Patch Included".

Aushelfen
Wenn Sie nach einem ersten Code suchen, sind die Bugs in Mantis ein sehr guter Ausgangspunkt. Vielleicht möchten Sie sehen, ob jemand im IRC die Schwierigkeit eines bestimmten Fehlers diskutiert (sie variieren, manchmal auf unerwartete Weise).