Eric Snow <ericsnowcurren...@gmail.com> added the comment:

The main goal here is to make it easier for folks to move patches to GitHub.  
So there are a number of things we can do to help, which mostly build on one 
another:

1. determine a git commit hash on which a patch applies cleanly
  * best guess based on date (i.e. from the patch's tracker metadata) or even 
by attempt [1]
  * it doesn't have to be perfect (folks can rebase, etc.)
2. add a column (in the "Files" table) for "Base Git Revision"
3. add a button/link (in its own column?) for "Create Git Branch"
  a. get necessary info (e.g. otherwise hidden form, pop-up, separate page)
    1. field for repo URL (pre-filled with generated GH one) [or use dedicated 
user/repo fields?]
      + use GH username associated with current user, if available
      + use "cpython" as default repo name
    2. field for branch name (pre-filled based on patch file name)
    3. field for base revision (blank? pre-filled with result of (1) above)
    4. field for commit message (pre-filled with something simple)
    5. check box for "create PR"
  b. apply the patch to a (local) git clone
    1. checkout the base revision
    2. create the branch
    3. apply the patch
    4. commit
  c. push the branch to the repo URL
  d. (optionally) create the PR
4. add a column (in the "Files" table) for links to PRs that have been created 
from the patch

(maybe) automate:

5. determine which patches on an issue should be turned into PRs
6. automate create PRs for groups of (manually/programatically) selected patches
7. (probably not) create PRs for all [valid (see (5) above)] patches on all 
open issues

Note that even just (2) would save folks a lot of hassle.  For older patches 
it's a real pain to figure out where the patch applies cleanly.


[1] If there isn't already a tool to help with this, there ought to be.  It 
would give a set of git hashes based on a timestamp (and hg repo).  If also 
given a patch, it could identify the newest one of those hashes to which the 
patch applies cleanly.

----------
nosy: +eric.snow

_______________________________________________________
PSF Meta Tracker <metatrac...@psf.upfronthosting.co.za>
<http://psf.upfronthosting.co.za/roundup/meta/issue600>
_______________________________________________________
_______________________________________________
Tracker-discuss mailing list
Tracker-discuss@python.org
https://mail.python.org/mailman/listinfo/tracker-discuss
Code of Conduct: https://www.python.org/psf/codeofconduct/

Reply via email to