Here is a list of tasks that need to be performed in order to migrate to Git. They are sorted by order of importance. == Phase 0: Absolutely required == * **zooey** - Make svn-repository read-only * **zooey** - Update git-repositories (buildtools, haiku) from svn one last time (happens automatically, triggered by cron) * **zooey** - Make local backups of all git repos, just in case anything goes wrong * **zooey** - Put new git repos in place and make them writable for committers * **zooey** - Do a couple of test commits and back them out again * Collect a set of getting started docs to get people started. (No need to write our own, but a good list of references to prevent people from stumbling on more occult or outdated uses of Git) * **zooey [done, need to be discussed]** - Codify a set of central repository guidelines (who gets to create new branches, tagging policy, no rewriting of history, etc). * **zooey [done]** - And implement these in a series of server hooks * **kallisti5 [done]** - Go through everything on [dev/www].haiku-os.org and update instructions to switch to git * **zooey [done]** - Set up e-mail, CIA hooks * **zooey [done]** - Do test pushes (to test mails, cia) and back them out again * **zooey [done]** - Set up a pull-only mirror, pulling regularly from all three git repos (buildtools, haiku, vendor) * **zooey [done]** - Set up a mirror to github * **zooey [done]** - Improve/check gitweb setup or move to cgit * **nielx** - Write a plug-in for Trac to link to the gitweb/cgit changesets * **mmadia** - Update build-o-matic for Git == Phase 1: Equal functionality == * Improve TracGit (or homecooked plugin) for speed. == Phase 2: Icing on the cake == * Implement pulling and pushing patches to Trac * Implement support for Git diffs in Trac * Implement an autocommit feature * Haiku GUI for Git (ports of git gui and gitk and a proper diff tool)