#1644 closed task

move to git — at Version 4

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 (last modified by zooko)

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
    • turns out the /home/source/webhook daemon needed --umask 002, otherwise when it did a 'git fetch', the new object files were unreadable by the trac daemon
  • 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
  • update the following wiki pages to instruct people to use git instead of darcs: wiki:NewbieDeveloperSetup, wiki:Dev, wiki:AdvancedInstall (potentially better to remove any instructions on that page about revision control rather than to update the instructions from darcs to git)
  • 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 (4)

comment:1 Changed at 2011-12-21T21:35:53Z by warner

  • Description modified (diff)

got trac+git fixed, now we see new changes

comment:2 Changed at 2011-12-22T08:09:25Z by francois

  • Cc francois@… added

comment:3 Changed at 2012-02-16T23:18:09Z by davidsarah

  • Keywords git darcs trac buildbot added

comment:4 Changed at 2012-03-26T17:08:38Z by zooko

  • Description modified (diff)
Note: See TracTickets for help on using tickets.