Den Rubinius Issuetracker findest du hier: http://github.com/rubinius/rubinius/issues.
Damit ein Ticket nützlich ist, sollte es prägnant, fokussiert und umsetzbar sein. Falls es diese Kriterien nicht erfüllt, wird es vermutlich nur den Issuetracker zumüllen. Deshalb sollten Tickets mindestens einer der folgenden Kategorien zugeordnet werden können:
Falls die Angelegenheit nicht in eine der oben genannten Kategorien passt, heißt das nicht, dass sie unwichtig ist. Für Ticket ist es lediglich unzureichend.
Falls es sich um ein Feature handelt, solltest du in Betracht ziehen, es auf der Mailingliste zur Diskussion zu stellen. Natürlich kannst du außerdem auch versuchen es selbst zu implementieren und zu zeigen, warum und wie dein Feature nützlich sein kann.
Falls es sich um eine Bibliothek oder Gem handelt, das 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
Beschreibe dein Ticket mit angemessenen Tags.
Belege dein Ticket mit hinreichend Details bzgl. des Problems.
uname -a
ist
normalerweise gut (falls es irgengwelche “unknown” Felder
gibt, erkläre/beschreibe diese bitte.)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 er 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", "Hallo").should == "Hallo"
end
end
Ticket Titel:
“[PATCH] No method ‘format’ on Kernel (Module)”
Tags:
“patch core spec”
Ticket Nachricht (natürlich auf Englisch)
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, packst du deinen Patch in ein Gist und fügst den Link dazu in dein Ticket ein. Der Vollständigkeit halber siehst du unten den Patch aus dem obigen Beispiel:
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)