mirror of
https://github.com/django/django.git
synced 2025-11-07 07:15:35 +00:00
Updated ticket triage process diagram and contributing docs.
This commit is contained in:
4
docs/internals/_images/contribution_process.svg
Normal file
4
docs/internals/_images/contribution_process.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 224 KiB |
Binary file not shown.
Binary file not shown.
@@ -1,282 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="59.5 134.5 385 491.5" width="385" height="491.5">
|
||||
<defs>
|
||||
<filter id="Shadow" filterUnits="userSpaceOnUse" x="21" y="85.35">
|
||||
<feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/>
|
||||
<feOffset in="blur" result="offset" dx="0" dy="2"/>
|
||||
<feFlood flood-color="black" flood-opacity=".5" result="flood"/>
|
||||
<feComposite in="flood" in2="offset" operator="in"/>
|
||||
</filter>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 7 6" markerWidth="7" markerHeight="6" color="#008f00">
|
||||
<g>
|
||||
<path d="M 4.8 0 L 0 -1.8 L 0 1.8 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 7 6" markerWidth="7" markerHeight="6" color="#005493">
|
||||
<g>
|
||||
<path d="M 4.8 0 L 0 -1.8 L 0 1.8 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<g id="Canevas_1" stroke="none" fill="none" fill-opacity="1" stroke-dasharray="none" stroke-opacity="1">
|
||||
<title>Canevas 1</title>
|
||||
<rect fill="white" x="59.5" y="134.5" width="385" height="491.5"/>
|
||||
<g id="Canevas_1_Calque_1">
|
||||
<title>Calque 1</title>
|
||||
<g id="Graphic_88_shadow" filter="url(#Shadow)">
|
||||
<rect x="72" y="576" width="162" height="36" fill="white"/>
|
||||
</g>
|
||||
<g id="Graphic_126_shadow" filter="url(#Shadow)">
|
||||
<rect x="270" y="576" width="162" height="36" fill="white"/>
|
||||
</g>
|
||||
<g id="Graphic_32_shadow" filter="url(#Shadow)">
|
||||
<rect x="288" y="216" width="144" height="288" fill="white"/>
|
||||
<rect x="288" y="216" width="144" height="288" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_99_shadow" filter="url(#Shadow)">
|
||||
<rect x="72" y="216" width="144" height="288" fill="white"/>
|
||||
<rect x="72" y="216" width="144" height="288" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_10_shadow" filter="url(#Shadow)">
|
||||
<path d="M 95 450 L 193 450 C 195.76142 450 198 452.2386 198 455 L 198 481 C 198 483.7614 195.76142 486 193 486 L 95 486 C 92.23858 486 90 483.7614 90 481 L 90 455 C 90 452.2386 92.23858 450 95 450 Z" fill="#0096ff" fill-opacity=".3"/>
|
||||
<path d="M 95 450 L 193 450 C 195.76142 450 198 452.2386 198 455 L 198 481 C 198 483.7614 195.76142 486 193 486 L 95 486 C 92.23858 486 90 483.7614 90 481 L 90 455 C 90 452.2386 92.23858 450 95 450 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_11_shadow" filter="url(#Shadow)">
|
||||
<path d="M 95 360 L 193 360 C 195.76142 360 198 362.23858 198 365 L 198 391 C 198 393.76142 195.76142 396 193 396 L 95 396 C 92.23858 396 90 393.76142 90 391 L 90 365 C 90 362.23858 92.23858 360 95 360 Z" fill="#0096ff" fill-opacity=".3"/>
|
||||
<path d="M 95 360 L 193 360 C 195.76142 360 198 362.23858 198 365 L 198 391 C 198 393.76142 195.76142 396 193 396 L 95 396 C 92.23858 396 90 393.76142 90 391 L 90 365 C 90 362.23858 92.23858 360 95 360 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_12_shadow" filter="url(#Shadow)">
|
||||
<path d="M 95 270 L 193 270 C 195.76142 270 198 272.23858 198 275 L 198 301 C 198 303.76142 195.76142 306 193 306 L 95 306 C 92.23858 306 90 303.76142 90 301 L 90 275 C 90 272.23858 92.23858 270 95 270 Z" fill="#0096ff" fill-opacity=".3"/>
|
||||
<path d="M 95 270 L 193 270 C 195.76142 270 198 272.23858 198 275 L 198 301 C 198 303.76142 195.76142 306 193 306 L 95 306 C 92.23858 306 90 303.76142 90 301 L 90 275 C 90 272.23858 92.23858 270 95 270 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_123_shadow" filter="url(#Shadow)">
|
||||
<rect x="315" y="279" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="279" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_130_shadow" filter="url(#Shadow)">
|
||||
<rect x="315" y="459" width="90" height="18" fill="#008f00" fill-opacity=".3"/>
|
||||
<rect x="315" y="459" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_139_shadow" filter="url(#Shadow)">
|
||||
<rect x="315" y="351" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="351" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_137_shadow" filter="url(#Shadow)">
|
||||
<rect x="315" y="387" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="387" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_135_shadow" filter="url(#Shadow)">
|
||||
<rect x="315" y="423" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="423" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_132_shadow" filter="url(#Shadow)">
|
||||
<rect x="315" y="315" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="315" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_88">
|
||||
<rect x="72" y="576" width="162" height="36" fill="white"/>
|
||||
</g>
|
||||
<g id="Graphic_126">
|
||||
<rect x="270" y="576" width="162" height="36" fill="white"/>
|
||||
</g>
|
||||
<g id="Graphic_32">
|
||||
<rect x="288" y="216" width="144" height="288" fill="white"/>
|
||||
<rect x="288" y="216" width="144" height="288" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(293 221)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="14" fill="black" x="23.427734" y="14">Closed tickets</tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="40.984375" y="35">resolution</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_99">
|
||||
<rect x="72" y="216" width="144" height="288" fill="white"/>
|
||||
<rect x="72" y="216" width="144" height="288" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(77 221)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="14" fill="black" x="28.093262" y="14">Open tickets</tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="37.316406" y="35">triage state</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_10">
|
||||
<path d="M 95 450 L 193 450 C 195.76142 450 198 452.2386 198 455 L 198 481 C 198 483.7614 195.76142 486 193 486 L 95 486 C 92.23858 486 90 483.7614 90 481 L 90 455 C 90 452.2386 92.23858 450 95 450 Z" fill="#0096ff" fill-opacity=".3"/>
|
||||
<path d="M 95 450 L 193 450 C 195.76142 450 198 452.2386 198 455 L 198 481 C 198 483.7614 195.76142 486 193 486 L 95 486 C 92.23858 486 90 483.7614 90 481 L 90 455 C 90 452.2386 92.23858 450 95 450 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(95 454)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="22.987305" y="11">Ready for </tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="27.323242" y="25">Checkin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_11">
|
||||
<path d="M 95 360 L 193 360 C 195.76142 360 198 362.23858 198 365 L 198 391 C 198 393.76142 195.76142 396 193 396 L 95 396 C 92.23858 396 90 393.76142 90 391 L 90 365 C 90 362.23858 92.23858 360 95 360 Z" fill="#0096ff" fill-opacity=".3"/>
|
||||
<path d="M 95 360 L 193 360 C 195.76142 360 198 362.23858 198 365 L 198 391 C 198 393.76142 195.76142 396 193 396 L 95 396 C 92.23858 396 90 393.76142 90 391 L 90 365 C 90 362.23858 92.23858 360 95 360 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(95 371)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="23.983398" y="11">Accepted</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_12">
|
||||
<path d="M 95 270 L 193 270 C 195.76142 270 198 272.23858 198 275 L 198 301 C 198 303.76142 195.76142 306 193 306 L 95 306 C 92.23858 306 90 303.76142 90 301 L 90 275 C 90 272.23858 92.23858 270 95 270 Z" fill="#0096ff" fill-opacity=".3"/>
|
||||
<path d="M 95 270 L 193 270 C 195.76142 270 198 272.23858 198 275 L 198 301 C 198 303.76142 195.76142 306 193 306 L 95 306 C 92.23858 306 90 303.76142 90 301 L 90 275 C 90 272.23858 92.23858 270 95 270 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(95 281)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="17.31836" y="11">Unreviewed</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_123">
|
||||
<rect x="315" y="279" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="279" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(320 281)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="15.982422" y="11">duplicate</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_130">
|
||||
<rect x="315" y="459" width="90" height="18" fill="#008f00" fill-opacity=".3"/>
|
||||
<rect x="315" y="459" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(320 461)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="27.326172" y="11">fixed</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_139">
|
||||
<rect x="315" y="351" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="351" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(320 353)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="22.990234" y="11">invalid</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_137">
|
||||
<rect x="315" y="387" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="387" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(320 389)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="13.978516" y="11">needsinfo</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_135">
|
||||
<rect x="315" y="423" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="423" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(320 425)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="8.995117" y="11">worksforme</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_132">
|
||||
<rect x="315" y="315" width="90" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<rect x="315" y="315" width="90" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(320 317)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="21.326172" y="11">wontfix</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_33">
|
||||
<line x1="72" y1="243" x2="216" y2="243" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_36">
|
||||
<line x1="288" y1="243" x2="432" y2="243" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_127">
|
||||
<rect x="351" y="594" width="81" height="18" fill="#008f00" fill-opacity=".3"/>
|
||||
<text transform="translate(356 596)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="7.817383" y="11">completed</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_125">
|
||||
<rect x="351" y="576" width="81" height="18" fill="#ff2600" fill-opacity=".3"/>
|
||||
<text transform="translate(356 578)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="14.148438" y="11">stopped</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_129">
|
||||
<rect x="270" y="594" width="81" height="18" fill="#0096ff" fill-opacity=".3"/>
|
||||
<text transform="translate(275 596)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="5.819336" y="11">in progress</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_42">
|
||||
<line x1="183.6" y1="585" x2="208.5" y2="585" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_43">
|
||||
<text transform="translate(72 578)" fill="#008f00">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#008f00" x="17.173828" y="11">Ticket triagers </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_44">
|
||||
<line x1="183.6" y1="603" x2="208.5" y2="603" marker-end="url(#FilledArrow_Marker_2)" stroke="#005493" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_45">
|
||||
<text transform="translate(72 596)" fill="#005493">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#005493" x="52.3125" y="11">Mergers</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_128">
|
||||
<rect x="270" y="576" width="81" height="18" fill="white"/>
|
||||
<text transform="translate(275 578)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="black" x="19.492188" y="11">status</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_124">
|
||||
<line x1="252" y1="288" x2="302.1" y2="288" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_140">
|
||||
<line x1="252" y1="288" x2="306.5053" y2="350.29176" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_138">
|
||||
<line x1="252" y1="288" x2="308.50006" y2="384.85725" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_136">
|
||||
<line x1="252" y1="288" x2="309.82944" y2="420.18157" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_131">
|
||||
<line x1="198" y1="468" x2="302.1" y2="468" marker-end="url(#FilledArrow_Marker_2)" stroke="#005493" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_54">
|
||||
<line x1="144" y1="306" x2="144" y2="347.1" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_82">
|
||||
<line x1="198" y1="288" x2="252" y2="288" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_60">
|
||||
<line x1="144" y1="396" x2="144" y2="437.1" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_89">
|
||||
<rect x="189" y="144" width="243" height="54" fill="white"/>
|
||||
<path d="M 432 198 L 189 198 L 189 144 L 432 144 Z" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
<text transform="translate(193 150)" fill="#595959">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x="19.789062" y="11">The ticket was already reported, was </tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x=".8017578" y="25">already rejected, isn't a bug, doesn't contain </tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x="1.2792969" y="39">enough information, or can't be reproduced.</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_90">
|
||||
<line x1="252" y1="278.5" x2="252" y2="198" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_91">
|
||||
<path d="M 258.36395 281.63605 C 261.8787 285.15076 261.8787 290.84924 258.36395 294.36395 C 254.84924 297.8787 249.15076 297.8787 245.63605 294.36395 C 242.1213 290.84924 242.1213 285.15076 245.63605 281.63605 C 249.15076 278.1213 254.84924 278.1213 258.36395 281.63605" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_96">
|
||||
<rect x="72" y="144" width="99" height="54" fill="white"/>
|
||||
<path d="M 171 198 L 72 198 L 72 144 L 171 144 Z" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
<text transform="translate(76 150)" fill="#595959">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x="8.486328" y="11">The ticket is a </tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x="4.463867" y="25">bug and should </tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x="22.81836" y="39">be fixed.</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_97">
|
||||
<path d="M 150.36395 317.63605 C 153.87869 321.15076 153.87869 326.84924 150.36395 330.36395 C 146.84924 333.8787 141.15076 333.8787 137.63605 330.36395 C 134.12131 326.84924 134.12131 321.15076 137.63605 317.63605 C 141.15076 314.1213 146.84924 314.1213 150.36395 317.63605" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_98">
|
||||
<path d="M 134.5 324 L 81 324 L 81 198" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_102">
|
||||
<rect x="72" y="522" width="342" height="36" fill="white"/>
|
||||
<path d="M 414 558 L 72 558 L 72 522 L 414 522 Z" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
<text transform="translate(76 526)" fill="#595959">
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x="7.241211" y="11">The ticket has a patch which applies cleanly and includes all </tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" fill="#595959" x="26.591797" y="25">needed tests and docs. A merger can commit it as is.</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_103">
|
||||
<path d="M 150.36395 407.63605 C 153.87869 411.15076 153.87869 416.84924 150.36395 420.36395 C 146.84924 423.8787 141.15076 423.8787 137.63605 420.36395 C 134.12131 416.84924 134.12131 411.15076 137.63605 407.63605 C 141.15076 404.1213 146.84924 404.1213 150.36395 407.63605" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_104">
|
||||
<path d="M 134.5 414 L 81 414 L 81 522" stroke="#595959" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_151">
|
||||
<line x1="252" y1="288" x2="303.79966" y2="317.5998" marker-end="url(#FilledArrow_Marker)" stroke="#008f00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 20 KiB |
@@ -28,7 +28,7 @@ If an `unreviewed ticket`_ reports a bug, try and reproduce it. If you can
|
||||
reproduce it and it seems valid, make a note that you confirmed the bug and
|
||||
accept the ticket. Make sure the ticket is filed under the correct component
|
||||
area. Consider writing a patch that adds a test for the bug's behavior, even if
|
||||
you don't fix the bug itself. See more at :ref:`how-can-i-help-with-triaging`
|
||||
you don't fix the bug itself. See more at :ref:`how-can-i-help-with-triaging`.
|
||||
|
||||
Review patches of accepted tickets
|
||||
----------------------------------
|
||||
|
||||
@@ -49,47 +49,58 @@ attribute easily tells us what and who each ticket is waiting on.
|
||||
|
||||
Since a picture is worth a thousand words, let's start there:
|
||||
|
||||
.. image:: /internals/_images/triage_process.*
|
||||
:height: 750
|
||||
:width: 600
|
||||
.. image:: /internals/_images/contribution_process.*
|
||||
:alt: Django's ticket triage workflow
|
||||
|
||||
We've got two roles in this diagram:
|
||||
We have four roles in this diagram. Maintainers (also known as Fellows) usually
|
||||
take part in all of them, but anyone in the Django community can participate in
|
||||
any role except merger. The :ref:`merger role <mergers-team>` is granted by a
|
||||
vote of the :ref:`Steering Council <steering-council>`.
|
||||
|
||||
* Mergers: people with commit access who are responsible for making the
|
||||
final decision to merge a change.
|
||||
* Triagers: anyone can take on this role by checking whether a ticket describes
|
||||
a real issue and keeping the tracker organized.
|
||||
|
||||
* Ticket triagers: anyone in the Django community who chooses to
|
||||
become involved in Django's development process. Our Trac installation
|
||||
is intentionally left open to the public, and anyone can triage tickets.
|
||||
Django is a community project, and we encourage :ref:`triage by the
|
||||
community<how-can-i-help-with-triaging>`.
|
||||
* Bug fixers: anyone can contribute by opening a pull request and working on a
|
||||
solution for a ticket.
|
||||
|
||||
By way of example, here we see the lifecycle of an average ticket:
|
||||
* Reviewers: anyone can review pull requests and suggest improvements.
|
||||
|
||||
* Alice creates a ticket and sends an incomplete pull request (no tests,
|
||||
* Mergers: people with commit access who make the final decision to merge a
|
||||
change.
|
||||
|
||||
Our Trac system is intentionally open to the public, and anyone can help by
|
||||
working on tickets. Django is a community project, and we encourage
|
||||
:ref:`triage and collaboration by the community
|
||||
<how-can-i-help-with-triaging>`. This could be you!
|
||||
|
||||
For example, here's the typical lifecycle of a ticket:
|
||||
|
||||
* Alice creates a ticket and opens an incomplete pull request (missing tests,
|
||||
incorrect implementation).
|
||||
|
||||
* Bob reviews the pull request, marks the ticket as "Accepted", "needs tests",
|
||||
and "patch needs improvement", and leaves a comment telling Alice how the
|
||||
patch could be improved.
|
||||
* Bob reviews the pull request, marks the ticket as "Accepted", sets the
|
||||
flags "needs tests" and "patch needs improvement", and leaves a comment
|
||||
explaining how Alice can improve the patch. This puts the ticket
|
||||
automatically into the "waiting on author" queue within the "accepted" stage.
|
||||
|
||||
* Alice updates the pull request, adding tests (but not changing the
|
||||
implementation). She removes the two flags.
|
||||
* Alice updates the pull request, adding tests (but not yet fixing the
|
||||
implementation), and removes the two flags. The ticket moves into the "needs
|
||||
PR review" queue.
|
||||
|
||||
* Charlie reviews the pull request and resets the "patch needs improvement"
|
||||
flag with another comment about improving the implementation.
|
||||
* Charlie reviews the pull request, sets the "patch needs improvement" flag
|
||||
again, and leaves another comment suggesting changes to the implementation.
|
||||
The ticket moves back to the "waiting on author" queue.
|
||||
|
||||
* Alice updates the pull request, fixing the implementation. She removes the
|
||||
"patch needs improvement" flag.
|
||||
* Alice updates the pull request again, this time fixing the implementation,
|
||||
and removes the "patch needs improvement" flag. The ticket moves once more
|
||||
into the "needs PR review" queue.
|
||||
|
||||
* Daisy reviews the pull request and marks the ticket as "Ready for checkin".
|
||||
|
||||
* Jacob, a :ref:`merger <mergers-team>`, reviews the pull request and merges
|
||||
it.
|
||||
* Jacob, a :ref:`merger <mergers-team>`, reviews and merges the pull request.
|
||||
|
||||
Some tickets require much less feedback than this, but then again some tickets
|
||||
require much much more.
|
||||
Some tickets move through these steps quickly, while others take more time and
|
||||
discussion. Each contribution helps Django improve.
|
||||
|
||||
.. _triage-stages:
|
||||
|
||||
@@ -104,16 +115,15 @@ Unreviewed
|
||||
|
||||
The ticket has not been reviewed by anyone who felt qualified to make a
|
||||
judgment about whether the ticket contained a valid issue or ought to be closed
|
||||
for any of the various reasons.
|
||||
for any reasons. Unreviewed tickets appear in the "triage" queue.
|
||||
|
||||
Accepted
|
||||
--------
|
||||
|
||||
The big gray area! The absolute meaning of "accepted" is that the issue
|
||||
described in the ticket is valid and is in some stage of being worked on.
|
||||
Beyond that there are several considerations:
|
||||
The absolute meaning of "accepted" is that the issue described in the ticket is
|
||||
valid and actionable. It is broken out into three queues:
|
||||
|
||||
* **Accepted + No Flags**
|
||||
* **Needs Patch** (Accepted + No Flags)
|
||||
|
||||
The ticket is valid, but no one has submitted a patch for it yet. Often this
|
||||
means you could safely start writing a fix for it. This is generally more
|
||||
@@ -126,14 +136,14 @@ Beyond that there are several considerations:
|
||||
<requesting-features>` and received community and :ref:`Steering Council
|
||||
<steering-council>` approval, or been accepted in a DEP.
|
||||
|
||||
* **Accepted + Has Patch**
|
||||
* **Needs PR Review** (Accepted + Has Patch)
|
||||
|
||||
The ticket is waiting for people to review the supplied solution. This means
|
||||
downloading the patch and trying it out, verifying that it contains tests
|
||||
and docs, running the test suite with the included patch, and leaving
|
||||
feedback on the ticket.
|
||||
|
||||
* **Accepted + Has Patch + Needs ...**
|
||||
* **Waiting On Author** (Accepted + Has Patch + Needs fixes)
|
||||
|
||||
This means the ticket has been reviewed, and has been found to need further
|
||||
work. "Needs tests" and "Needs documentation" are self-explanatory. "Patch
|
||||
@@ -339,10 +349,10 @@ bring the issue to the `Django Forum`_ instead.
|
||||
|
||||
.. _how-can-i-help-with-triaging:
|
||||
|
||||
How can I help with triaging?
|
||||
=============================
|
||||
How can I help with development?
|
||||
================================
|
||||
|
||||
The triage process is primarily driven by community members. Really,
|
||||
The development process is primarily driven by community members. Really,
|
||||
**ANYONE** can help.
|
||||
|
||||
To get involved, start by `creating an account on Trac`_. If you have an
|
||||
|
||||
Reference in New Issue
Block a user