<div dir="ltr">Update:<div><br></div><div><div style="font-size:12.8px">Older merged PRs not yet backported?</div><div style="font-size:12.8px">==============================</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">A core developer can re-apply the `needs backport ..` label to trigger the backport. Meaning, remove the existing label, then add it back. If there was no label and now you want it to be backported, adding the label will also trigger the backport.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div style="font-size:12.8px">Don't want PR to be backported by a bot?</div><div style="font-size:12.8px">==============================<wbr>==</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><span style="font-size:12.8px">Close the backport PR made by Miss Islington and make your own backport PR.</span><br></div></div><div><br></div><div><br></div><div>Thanks!</div></div><div><br></div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature">Mariatta Wijaya</div></div>
<br><div class="gmail_quote">On Tue, Sep 5, 2017 at 6:10 PM, Mariatta Wijaya <span dir="ltr"><<a href="mailto:mariatta.wijaya@gmail.com" target="_blank">mariatta.wijaya@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>The cherry picker bot has just been deployed to CPython repo, codenamed miss-islington.</div><div><br></div><div><div>miss-islington made the very first backport PR for CPython and became a first time GitHub contributor: <a href="https://github.com/python/cpython/pull/3369" target="_blank">https://github.com/python/<wbr>cpython/pull/3369</a> <br></div><div><br></div></div><div>GitHub repo: <a href="https://github.com/python/miss-islington" target="_blank">https://github.com/python/<wbr>miss-islington</a></div><div><br></div><div>What is this?</div><div>==========</div><div><br></div><div><span style="font-family:arial,helvetica,sans-serif">As part of our </span>workflow,<span style="font-family:arial,helvetica,sans-serif"> quite often changes made on the master branch need to be backported to the earlier versions. (for example: from master to 3.6 and 2.7) </span><br></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Previously the backport has to be done manually by either a core developer or the original PR author.</font></div><div><br></div><div>With the bot, the backport PR is created automatically after the PR has been merged. A core developer will need to review the backport PR.</div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><div>The issue was tracked in <a href="https://github.com/python/core-workflow/issues/8" target="_blank">https://github.com/python/<wbr>core-workflow/issues/8</a></div></div><div><br></div><div>How it works</div><div>==========</div><div><br></div><div>1. If a PR needs to be backported to one of the maintenance branches, a core developer should apply the "needs backport to X.Y" label. Do this **before** you merge the PR. </div><div><br></div><div>2. Merge the PR</div><div><br></div><div>3. miss-islington will leave a comment on the PR, saying it is working on backporting the PR.</div><div><br></div><div>4. If there's no merge conflict, the PR should be created momentarily.</div><div><br></div><div>5. Review the backport PR created by miss-islington and merge it when you're ready.</div><div><br></div><div>Merge Conflicts / Problems?</div><div>======================</div><div><br></div><div>In case of merge conflicts, or if a backport PR was not created within 2 minutes, it likely failed and you should do the backport manually.</div><div><br></div><div>Manual backport can be done using cherry_picker: <a href="https://pypi.org/project/cherry-picker/" target="_blank">https://pypi.<wbr>org/project/cherry-picker/</a> </div><div><br></div><div>Older merged PRs not yet backported?</div><div>==============================</div><div><br></div><div>At the moment, those need to be backported manually.</div><div><br></div><div>Don't want PR to be backported by a bot?</div><div>==============================<wbr>==</div><div><br></div><div>My recommendation is to apply the "needs backport to X.Y" **after** the PR has been merged. The label is still useful to remind ourselves that this PR still needs backporting. </div><div><br></div><div>Who is Miss Islington?</div><div>=================</div><div><br></div><div>I found out from Wikipedia that Miss Islington is the name of the witch in Monty Python and The Holy Grail.</div><div><br></div><div>miss-islington has not signed the CLA!</div><div>=============================</div><div><br></div><div>A core dev can ignore the warning and merge the PR anyway.</div><div><br></div><div>Thanks!</div><span class="HOEnZb"><font color="#888888"><div><br></div><div><br></div><div><div><div class="m_-2495558729741349891gmail_signature">Mariatta Wijaya</div></div>
</div></font></span></div>
</blockquote></div><br></div>