Den Rubinius Issuetracker findest du hier: http://github.com/evanphx/rubinius/issues.
Damit ein Ticket nützlich ist, sollte er prägnant, fokussiert und umsetzbar sein. Falls er diese Kriterien nicht erfüllt, wird er vermutlich nur für Unordnung sorgen. Deshalb sollten Tickets in mindestens eine der folgenden Kategorien fallen:
Falls dein Ticket nicht in eine der oben genannten Kategorien passt, heißt das nicht, dass es ungültig ist. Das Problem sollte lediglich nicht als Ticket aufgenommen werden.
Falls es sich um ein Feature handelt, solltest du in Betrachtung ziehen, es auf der Mailingliste zur Diskussion zu stellen. Du kannst natürlich außerdem auch versuchen es selbst zu implementieren und zu zeigen, warum und wie dein Feature nützlich ist.
Falls es sich um eine Bibliothek oder Gem handelt, welche nicht korrekt funktioniert nimm dir etwas Zeit und versuche den Fehler zu reproduzieren und beschreibe daraufhin die Reproduktion in einem neuen Ticket.
Doppelte Überprüfung.
Gib deinem Ticket einen spezifischen, vorzugsweise kurzen Titel
Versehe dein Ticket mit angemessenen Tags.
Versehe dein Ticket mit hinreichend Details bzgl. dem Problem.
uname -a
ist
normalerweise gut (falls es irgengwelche “unknown” Felder
gibt, erkläre/beschreibe diese bitte.)Die Spec Ausgabe und der exakte ‘bin/mspec’ Aufruf, bei dem ein erfolgreicher Durchlauf nach der Veränderung zu sehen ist
Abgesehen von Fällen, bei denen es aus irgendwelchen Gründen unmöglich ist, sollte ‘git-format-patch’ benutzt werden um den Patch zu erstellen. Das macht das Einbringen des Patches wesentlich einfacher und es erhält die korrekte Zuordnung. Ansonsten sollte ein ‘unified diff’ verwendet werden.
Angenommen, der folgende Spec existiert und schlägt fehl:
describe "Kernel.format" do
it "is accessible as a module function" do
Kernel.format("%s", "hello").should == "hello"
end
end
Ticket Titel:
“[PATCH] No method ‘format’ on Kernel (Module)”
Tags:
“patch core spec”
Ticket Nachricht:
The method ‘format’ is not available as a module function of Kernel.
$ bin/mspec spec/ruby/core/kernel/format_spec.rb
Started
.E
1)
Kernel.format is accessible as a module function ERROR
No method 'format' on Kernel (Module):
The method ‘format’ already exists but has not been set as a module function. This patch does so.
After the patch is applied:
$ bin/mspec spec/ruby/core/kernel/format_spec.rb
Started
..
Finished in 0.016031 seconds
2 examples, 2 expectations, 0 failures, 0 errors
Anhang:
Schließlich, packe deinen Patch in ein gist und füge den Link dazu in dein Ticket ein. Unten siehst du den Patch aus dem obigen Beispiel aus Vollständigkeitsgründen:
From c61cecce6442347ebbdf1ded7a5c0832c97582c1 Mon Sep 17 00:00:00 2001
From: Brian Ford <bford@engineyard.com>
Date: Sat, 19 Jan 2008 17:48:19 -0800
Subject: [PATCH] Set Kernel#format as a module function.
diff --git a/kernel/core/kernel.rb b/kernel/core/kernel.rb
index 2d2e508..f2a382e 100644
--- a/kernel/core/kernel.rb
+++ b/kernel/core/kernel.rb
@@ -150,6 +150,7 @@ module Kernel
end
alias_method :format, :sprintf
module_function :sprintf
+ module_function :format
module_function :abort
def puts(*a)