#1644 closed task

move to git — at Initial Version

Reported by: warner Owned by: somebody
Priority: major Milestone: soon (release n/a)
Component: dev-infrastructure Version: n/a
Keywords: git darcs trac buildbot Cc: francois@…
Launchpad Bug:

Description

We've decided to move to git. As #1226 points out, keeping Tahoe in darcs is an unfortunate barrier to entry. This ticket tracks the process.

We'll use the repo that I've been maintaining through a creaky manually-run bidirectional darcs-to-git bridge, and publish on github. I started publishing it under my personal account (and thus it has a few dozen forks), but I created a new "Organization" account and we should publicize that one as the official repo (on github, at least):

https://github.com/tahoe-lafs/tahoe-lafs

The bridge only handles linear history, so until we drop darcs completely, I'll be rebasing and linearizing everything that touches master. The official repo will only contain a "master" branch, for now: later we'll figure out a release process, and add the 1.8.3 branch back in (which is currently unrepresented in git).

Steps:

  • Set up "tahoe-lafs" Github "Organization" account
  • Set up post-commit webhook to update tahoe-lafs.org:/home/source/git/tahoe-lafs.git upon changes
  • Add "git" repo/branch to Trac
    • this is currently stuck at some old revision: I'm not sure why, maybe some bug in the trac-git plugin
  • Set up git-based buildmaster
  • Migrate all slaves to the git-based buildmaster
    • create entries for all slaves
    • port all Builders (add buildbot "categories" to mark Builders as "supported", "performance", "packaging", etc, to simplify web display)
    • port the index.html page
    • shut down old buildmaster, change slaveport of new buildmaster to match the old one: boom, all slaves now connect to the new buildmaster
    • get Git installed on all buildslaves that lack it
  • Stop updating darcs repo, freeze it
  • Build tool to modify Trac DB [DARCS-REVID] comments to git-based [REVID/git]
  • Run revid-mapping tool
  • Switch Trac "default branch" to git
  • Replace DB comments with [REVID/git] to just [REVID]
  • Remove darcs branch from Trac

Change History (0)

Note: See TracTickets for help on using tickets.