Django

Code

Changeset 4190

Show
Ignore:
Timestamp:
12/10/06 18:44:02 (2 years ago)
Author:
russellm
Message:

Added ticket triage as one way to help out; added details on the need for tests and documentation on patches.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/docs/contributing.txt

    r3833 r4190  
    2323      back it up. 
    2424 
     25    * Triage patches that have been submitted by other users. Please read 
     26      `Ticket triage`_ below, for details on the triage process. 
     27 
    2528That's all you need to know if you'd like to join the Django development 
    2629community. The rest of this document describes the details of how our community 
     
    4548    * **Do** write complete, reproducible, specific bug reports. Include as 
    4649      much information as you possibly can, complete with code snippets, test 
    47       cases, etc.  A minimal example that illustrates the bug in a nice small 
    48       test case is the best possible bug report. 
     50      cases, etc. This means including a clear, concise description of the 
     51      problem, and a clear set of instructions for replicating the problem. 
     52      A minimal example that illustrates the bug in a nice small test case  
     53      is the best possible bug report. 
    4954 
    5055    * **Don't** use the ticket system to ask support questions.  Use the 
     
    121126      it obvious that the ticket includes a patch, and it will add the ticket 
    122127      to the `list of tickets with patches`_. 
     128       
     129    * The code required to fix a problem or add a feature is an essential part  
     130      of a patch, but it is not the only part. A good patch should also include 
     131      a regression test to validate the behavior that has been fixed (and prevent 
     132      the problem from arising again).  
     133       
     134    * If the code associated with a patch adds a new feature, or modifies behavior  
     135      of an existing feature, the patch should also contain documentation. 
     136 
     137Non-trivial patches 
     138------------------- 
     139 
     140If a patch is non-trivial, there should be some evidence that there  
     141has been discussion on `django-developers`_ of any alternatives.  
     142Note that 'non-trivial' doesn't just mean 'only affects 1-2 lines 
     143of code' - it also includes the fact that the lines that are being 
     144modified don't have a significant follow-on effect on the overall 
     145design of Django. If in doubt, ask. 
     146 
     147Ticket triage 
     148============= 
     149 
     150Unfortunately, not all bug reports in the `ticket tracker`_ provide all  
     151the `required details`_. Other tickets have patches, but those patches 
     152do not meet all the requirements of a `good patch`_. 
     153 
     154One way to help out is to triage bugs that have been reported by other users.  
     155Pick an open ticket that is missing some details, and try to replicate the  
     156problem. Fill in the missing pieces of the report. If the ticket doesn't have 
     157a patch, create one.  
     158 
     159Once you have completed all the missing details on the ticket and you have a 
     160patch with all the required features, mail `django-developers`_. Indicate that  
     161you have triaged a ticket, and recommend a course of action for dealing with 
     162that ticket.  
     163 
     164At first, this may require you to be persistent - if you find that your triaged 
     165ticket still isn't getting attention, occasional polite requests for eyeballs to  
     166look at your ticket may be necessary. However, as you earn a reputation for 
     167quality triage work, you should find that it is easier to get the developers 
     168attention. 
     169 
     170.. _required details: `Reporting bugs`_ 
     171.. _good patch: `Patch style`_ 
    123172 
    124173Submitting and maintaining translations