(This is because I use mercurial rarely enough and commit to Python even more rarely; so I always forget what incantations I used last time…)


hg clone http://hg.python.org/cpython hg.python.org
hg clone hg.python.org issue1234
cd issue1234


hg up 3.3
hg import --no-commit http://.../fixedit.patch

# Do whatever
# Edit Misc/NEWS


hg commit -m "... (Patch by ...)"
hg up default
hg merge 3.3

# Stuff happens including, probably, Misc/NEWS conflicting
# Copy Misc/NEWS.orig back to Misc/NEWS and re-edit


hg resolve -m Misc/NEWS

# Do whatever


hg commit -m "... (Patch by ...)"

(Watch out for push races if other devs have committed…)


hg push ssh://hg@hg.python.org/cpython