Skip to content

Instantly share code, notes, and snippets.

@adiroiban
Last active November 29, 2015 16:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adiroiban/fe2d4b85904e5903a533 to your computer and use it in GitHub Desktop.
Save adiroiban/fe2d4b85904e5903a533 to your computer and use it in GitHub Desktop.
Twisted SVN to Git migration - Work Plan
11 Nov
(23:40:19) glyph: adiroiban: hey, so, regarding the git migration. You sent a proposal to the TSF but then you mentioned hawkowl had another proposal. I said to discuss amongst yourselves and submit a single proposal so I can organize an approval vote. Then you asked if there was any news :)
(23:40:40) glyph: adiroiban: The news is "please submit a final proposal for approval when you are done deciding which it is" :)
(23:40:48) adiroiban: ok
(23:41:08) glyph: adiroiban: I can guarantee the PLC is going to do exactly _zero_ work in helping you figure out what to do; it is hard enough for me to get them all to answer their email for a vote :)
(23:41:31) glyph: keturn: maybe you should feel a little bad about that, but since you are the _second_ most responsive member (and the _only_ one actually here) maybe don't feel too bad
(23:42:04) adiroiban: glyph: ok. no problem
(23:42:17) adiroiban: will get in touch with Amber
(23:42:43) adiroiban: I am not aware of receiving an email in which I am asked to submit a single proposal
(23:43:14) glyph: adiroiban: oh, sorry that was not clear :(
(23:43:31) glyph: adiroiban: you and hawkowl have to coordinate to submit a proposal that then just has to be approved by the PLC
(23:43:47) adiroiban: glyph: again
(23:43:48) glyph: adiroiban: in retrospect this is a bad idea and we should have let you just do whatever :(
(23:43:59) adiroiban: is hard to do it
(23:44:03) adiroiban: without any direction from you
(23:44:12) adiroiban: I hears many ideas about git migration
(23:44:19) adiroiban: I heard
(23:44:22) adiroiban: and right now
(23:45:10) adiroiban: when I don't know which direction do you want to go
(23:45:13) adiroiban: with git migration
(23:45:29) adiroiban: I can propose a SF plan of migration to gitlab
(23:45:33) adiroiban: or jira ....
(23:45:39) adiroiban: but really
(23:45:44) glyph: adiroiban: the fellowship page specifically says "github"
(23:45:49) adiroiban: I am waiting for you to set the requirements
(23:46:03) adiroiban: and then I can arrange the detailed specifications
(23:46:11) adiroiban: ok
(23:46:17) adiroiban: but I talked here on IRC
(23:46:33) adiroiban: and I remember that we discuss that we still need our own irc
(23:46:36) adiroiban: for the hooks
(23:46:49) glyph: adiroiban: so here's the general outline of the requirements.
(23:46:54) adiroiban: and since we don't use github issues and github PR
(23:46:59) adiroiban: I don't know what is left from github
(23:47:26) glyph: adiroiban: Development can't stop, the website can't go down, and we can't lose any data. If you have a plan that migrates absolutely everything to github, including all of our issues to github issues, and all of our review queue stuff to github PRs, that is fine.
(23:48:16) glyph: adiroiban: You cannot, however, just push everything to github and delete the ticket database and all the outstanding branches and just say "okay everybody file github issues now". There has to be clear communication about what a developer who shows up on any given day to work on a Twisted ticket should do.
(23:55:42) glyph: adiroiban: so okay, requirements:
(23:55:46) glyph: - be able to accept PRs
(23:55:58) glyph: - host code primarily on github
(23:56:08) glyph: - make sure all the same committers still have
access (at least active ones)
(23:56:14) glyph: - make sure the website doesn't go down
(23:56:23) glyph: - break as little functionality as possible (kenaan,
highscores, etc)
(23:56:44) glyph: - communicate clearly to contributors what they have
to do in order to work on Twisted in every step of the process
(23:57:04) glyph: there are lots of "nice to have" things
(23:57:18) glyph: like it would be nice to have people authenticate to
twistedmatrix.com via github so we can get rid of our terrible auth
database
(23:57:28) glyph: and so they have one set of credentials for working
(23:57:41) glyph: it would be nice if we could automatically sync any
relevant information between PRs and issues
(23:57:59) glyph: but this is all up to you
(23:59:02) glyph: adiroiban: perhaps the easiest thing to do would be
to write up a proposal _just_ for how to kill SVN
--------

All work items are here https://github.com/twisted-infra/braid/milestones/Migrate-to-Git

General

  • Twisted infra will no longer host the Git/SVN repo
  • GitHub will be used to host the Git repo and manage access to it
  • We already have a mirror on GitHub so we should just stop sync it from SVN
  • Twisted infra will a custom GitHub hooks endpoint for Trac sync (close ticket / update branch / etc)
  • Twisted will still use Trac to handle the tickets and receive / send review feedback.

Plan

  • Create a new twisted-infra/twisted-migration-test repo which will be used for dev and testing
  • Implement a buildbot builder to send commit status to GitHub and use it a a precommit hook
  • Implement a custom GitHub hooks endpoint so that we can continue to trigger events on commit, if they are not available as GitHub services
  • Re-use GitHub email and IRC notifications
  • Document the new way of working with the Twisted repo
  • Configure twisted/twisted with protected master/trunk
  • Ask feedback from contributors based on twisted-infra/twisted-migration-test repo
  • Stop sync of SVN to GitHub. Make GitHub the main repo.
  • Apply all twisted-infra/twisted-migration-test configuration to the main twisted/twisted repo
  • Announce the changes

Easy decisions to make

  • What will happen with the SVN repo? Take it down?
  • use master or trunk as main branch
  • Accept PR instead of asking people to attach patches? Review comments will still go in the Trac ticket.
  • Do we still need/want git commit chagnes in Trac timeline ?

Open issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment