Opened at 2011-12-21T06:15:01Z
Last modified at 2014-07-09T00:04:58Z
#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):
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" accountSet 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